[pkg-java] r3531 - in branches/tomcat5.5/upstream/current: . build build/resources connectors connectors/ajp connectors/ajp/ajplib/include connectors/ajp/ajplib/src connectors/ajp/ajplib/test connectors/ajp/proxy connectors/coyote/src/java/org/apache/coyote connectors/coyote/src/java/org/apache/coyote/memory connectors/coyote/src/java/org/apache/coyote/tomcat3 connectors/coyote/src/java/org/apache/coyote/tomcat4 connectors/coyote/src/test/org/apache/coyote connectors/http11 connectors/http11/src/java/org/apache/coyote/http11 connectors/http11/src/java/org/apache/coyote/http11/filters connectors/http11/src/test/java/org/apache/coyote/http11 connectors/jk connectors/jk/conf connectors/jk/java/org/apache/ajp connectors/jk/java/org/apache/ajp/tomcat33 connectors/jk/java/org/apache/ajp/tomcat4 connectors/jk/java/org/apache/ajp/tomcat4/config connectors/jk/java/org/apache/coyote/ajp connectors/jk/java/org/apache/jk/apr connectors/jk/java/org/apache/jk/common connectors/jk/java/org/apache/jk/config connectors/jk/java/org/apache/jk/core connectors/jk/java/org/apache/jk/server connectors/jk/jkant/java/org/apache/jk/ant connectors/jk/jkant/java/org/apache/jk/ant/compilers connectors/jk/jkstatus connectors/jk/jkstatus/build/classes/org/apache/jk/status connectors/jk/jkstatus/dist connectors/jk/jkstatus/example connectors/jk/jkstatus/src/share/org/apache/jk/status connectors/jk/jkstatus/test connectors/jk/jkstatus/test/conf connectors/jk/jkstatus/test/src/share/org/apache/jk/status connectors/jk/native connectors/jk/native/apache-1.3 connectors/jk/native/apache-2.0 connectors/jk/native/common connectors/jk/native/iis connectors/jk/native/iis/installer connectors/jk/native/iis/pcre connectors/jk/native/jni connectors/jk/native/netscape connectors/jk/native/nt_service connectors/jk/native/scripts/build connectors/jk/support connectors/jk/test/org/apache/ajp/test connectors/jk/tools connectors/jk/tools/reports connectors/jk/xdocs connectors/jk/xdocs/ajp connectors/jk/xdocs/generic_howto connectors/jk/xdocs/jk2 connectors/jk/xdocs/miscellaneous connectors/jk/xdocs/news connectors/jk/xdocs/reference connectors/jk/xdocs/webserver_howto connectors/jni connectors/jni/examples connectors/jni/examples/org/apache/tomcat/jni connectors/jni/java connectors/jni/java/org/apache/tomcat connectors/jni/java/org/apache/tomcat/jni connectors/jni/native connectors/jni/native/build connectors/jni/native/include connectors/jni/native/os/netware connectors/jni/native/os/unix connectors/jni/native/os/win32 connectors/jni/native/src connectors/jni/test/org/apache/tomcat/jni connectors/juli/src/java/org/apache/juli connectors/procrun/bin connectors/util connectors/util/java/org/apache/tomcat/util connectors/util/java/org/apache/tomcat/util/buf connectors/util/java/org/apache/tomcat/util/collections connectors/util/java/org/apache/tomcat/util/compat connectors/util/java/org/apache/tomcat/util/digester connectors/util/java/org/apache/tomcat/util/http connectors/util/java/org/apache/tomcat/util/http/mapper connectors/util/java/org/apache/tomcat/util/log connectors/util/java/org/apache/tomcat/util/net connectors/util/java/org/apache/tomcat/util/net/jsse connectors/util/java/org/apache/tomcat/util/net/puretls connectors/util/java/org/apache/tomcat/util/res connectors/util/java/org/apache/tomcat/util/threads connectors/util/loader/org/apache/tomcat/util/loader container container/catalina container/catalina/src/bin container/catalina/src/conf container/catalina/src/share/org/apache/catalina container/catalina/src/share/org/apache/catalina/ant container/catalina/src/share/org/apache/catalina/ant/jmx container/catalina/src/share/org/apache/catalina/authenticator container/catalina/src/share/org/apache/catalina/connector container/catalina/src/share/org/apache/catalina/core container/catalina/src/share/org/apache/catalina/deploy container/catalina/src/share/org/apache/catalina/launcher container/catalina/src/share/org/apache/catalina/loader container/catalina/src/share/org/apache/catalina/mbeans container/catalina/src/share/org/apache/catalina/realm container/catalina/src/share/org/apache/catalina/security container/catalina/src/share/org/apache/catalina/servlets container/catalina/src/share/org/apache/catalina/session container/catalina/src/share/org/apache/catalina/ssi container/catalina/src/share/org/apache/catalina/startup container/catalina/src/share/org/apache/catalina/users container/catalina/src/share/org/apache/catalina/util container/catalina/src/share/org/apache/catalina/valves container/catalina/src/share/org/apache/naming container/catalina/src/share/org/apache/naming/factory container/catalina/src/share/org/apache/naming/java container/catalina/src/share/org/apache/naming/resources container/catalina/src/share/org/apache/naming/resources/jndi container/catalina/src/test/org/apache/catalina/util container/catalina/src/test/org/apache/naming/resources container/modules/cluster container/modules/cluster/src/share/org/apache/catalina/cluster container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator container/modules/cluster/src/share/org/apache/catalina/cluster/deploy container/modules/cluster/src/share/org/apache/catalina/cluster/io container/modules/cluster/src/share/org/apache/catalina/cluster/mcast container/modules/cluster/src/share/org/apache/catalina/cluster/session container/modules/cluster/src/share/org/apache/catalina/cluster/tcp container/modules/cluster/src/share/org/apache/catalina/cluster/util container/modules/cluster/test/src/share/org/apache/catalina/cluster/io container/modules/cluster/test/src/share/org/apache/catalina/cluster/session container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp container/modules/groupcom/doc container/modules/groupcom/src/share/org/apache/catalina/tribes container/modules/groupcom/src/share/org/apache/catalina/tribes/group container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors container/modules/groupcom/src/share/org/apache/catalina/tribes/io container/modules/groupcom/src/share/org/apache/catalina/tribes/membership container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis container/modules/groupcom/src/share/org/apache/catalina/tribes/transport container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio container/modules/groupcom/src/share/org/apache/catalina/tribes/util container/modules/groupcom/test/java/org/apache/catalina/tribes/demos container/modules/groupcom/test/java/org/apache/catalina/tribes/test/channel container/modules/groupcom/test/java/org/apache/catalina/tribes/test/interceptors container/modules/groupcom/test/java/org/apache/catalina/tribes/test/membership container/modules/ha/src/share/org/apache/catalina/ha container/modules/ha/src/share/org/apache/catalina/ha/context container/modules/ha/src/share/org/apache/catalina/ha/deploy container/modules/ha/src/share/org/apache/catalina/ha/session container/modules/ha/src/share/org/apache/catalina/ha/tcp container/modules/ha/src/share/org/apache/catalina/ha/util container/modules/storeconfig/src/share/org/apache/catalina/storeconfig container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig container/tester/src/tester/org/apache/tester container/tester/src/tester/org/apache/tester/shared container/tester/src/tester/org/apache/tester/unpshared container/tester/src/tester/org/apache/tester/unshared container/webapps/ROOT/WEB-INF container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/filters container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve container/webapps/admin/connector container/webapps/admin/resources container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules container/webapps/docs container/webapps/docs/appdev/sample/src/mypackage container/webapps/docs/config container/webapps/docs/funcspecs container/webapps/host-manager/WEB-INF container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager container/webapps/jmxremote/WEB-INF container/webapps/manager/WEB-INF container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager container/webapps/webdav/WEB-INF jasper jasper/src/share/org/apache/jasper jasper/src/share/org/apache/jasper/compiler jasper/src/share/org/apache/jasper/compiler/tagplugin jasper/src/share/org/apache/jasper/resources jasper/src/share/org/apache/jasper/runtime jasper/src/share/org/apache/jasper/security jasper/src/share/org/apache/jasper/servlet jasper/src/share/org/apache/jasper/tagplugins/jstl jasper/src/share/org/apache/jasper/tagplugins/jstl/core jasper/src/share/org/apache/jasper/util jasper/src/share/org/apache/jasper/xmlparser servletapi/jsr152/examples servletapi/jsr152/examples/WEB-INF servletapi/jsr152/examples/WEB-INF/classes servletapi/jsr152/examples/WEB-INF/classes/cal servletapi/jsr152/examples/WEB-INF/classes/checkbox servletapi/jsr152/examples/WEB-INF/classes/colors servletapi/jsr152/examples/WEB-INF/classes/compressionFilters servletapi/jsr152/examples/WEB-INF/classes/dates servletapi/jsr152/examples/WEB-INF/classes/error servletapi/jsr152/examples/WEB-INF/classes/examples servletapi/jsr152/examples/WEB-INF/classes/filters servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/el servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag servletapi/jsr152/examples/WEB-INF/classes/listeners servletapi/jsr152/examples/WEB-INF/classes/num servletapi/jsr152/examples/WEB-INF/classes/sessions servletapi/jsr152/examples/WEB-INF/classes/util servletapi/jsr152/examples/WEB-INF/classes/validators servletapi/jsr152/examples/WEB-INF/jsp servletapi/jsr152/examples/WEB-INF/jsp/applet servletapi/jsr152/examples/WEB-INF/jsp2 servletapi/jsr152/examples/WEB-INF/tags servletapi/jsr152/examples/cal servletapi/jsr152/examples/checkbox servletapi/jsr152/examples/colors servletapi/jsr152/examples/dates servletapi/jsr152/examples/error servletapi/jsr152/examples/include servletapi/jsr152/examples/jsp2/el servletapi/jsr152/examples/jsp2/jspattribute servletapi/jsr152/examples/jsp2/jspx servletapi/jsr152/examples/jsp2/misc servletapi/jsr152/examples/jsp2/simpletag servletapi/jsr152/examples/jsp2/tagfiles servletapi/jsr152/examples/jsptoserv servletapi/jsr152/examples/num servletapi/jsr152/examples/plugin servletapi/jsr152/examples/plugin/applet servletapi/jsr152/examples/security/protected servletapi/jsr152/examples/sessions servletapi/jsr152/examples/simpletag servletapi/jsr152/examples/snp servletapi/jsr152/examples/tagplugin servletapi/jsr152/examples/xml servletapi/jsr152/src/ant/task servletapi/jsr152/src/share/dtd servletapi/jsr152/src/share/javax/servlet/jsp servletapi/jsr152/src/share/javax/servlet/jsp/el servletapi/jsr152/src/share/javax/servlet/jsp/tagext servletapi/jsr154/examples servletapi/jsr154/examples/WEB-INF servletapi/jsr154/examples/WEB-INF/classes servletapi/jsr154/examples/WEB-INF/classes/compressionFilters servletapi/jsr154/examples/WEB-INF/classes/filters servletapi/jsr154/examples/WEB-INF/classes/listeners servletapi/jsr154/examples/WEB-INF/classes/util servletapi/jsr154/src/share/dtd servletapi/jsr154/src/share/javax/servlet servletapi/jsr154/src/share/javax/servlet/http

marcusb-guest at alioth.debian.org marcusb-guest at alioth.debian.org
Mon May 21 10:51:27 UTC 2007


Author: marcusb-guest
Date: 2007-05-21 10:51:24 +0000 (Mon, 21 May 2007)
New Revision: 3531

Added:
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/AbstractJkStatusTask.class
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkResult.class
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkSoftware.class
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusUpdateLoadbalancerTask.class
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusUpdateWorkerTask.class
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/example/show.xml
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/AbstractJkStatusTask.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkResult.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkSoftware.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateLoadbalancerTask.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateWorkerTask.java
   branches/tomcat5.5/upstream/current/connectors/jk/native/iis/Makefile.amd64
   branches/tomcat5.5/upstream/current/connectors/jk/native/iis/Makefile.ia64
   branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/Makefile.linux
   branches/tomcat5.5/upstream/current/connectors/jk/native/scripts/build/instdso.sh
   branches/tomcat5.5/upstream/current/connectors/jk/tools/lineends.pl
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/ajp/
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/ajp/ajpv13a.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/ajp/ajpv13ext.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/ajp/project.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/loadbalancers.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/project.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/quick.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/workers.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/changelog.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/doccontrib.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/faq.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/jkstatustasks.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/project.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/reporttools.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20070301.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/apache.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/iis.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/project.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/status.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/uriworkermap.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/workers.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/apache.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/iis.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/nes.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/project.xml
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/ClusterSingleSignOn.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/ClusterSingleSignOnListener.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/SingleSignOnMessage.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/mbeans-descriptors.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/virtual-hosting-howto.xml
Removed:
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/changelog.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/common/
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/config/
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/faq.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/howto/
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/proxy.xml
   branches/tomcat5.5/upstream/current/container/${tomcat.build}/
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/patch.txt
   branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java.orig
Modified:
   branches/tomcat5.5/upstream/current/build.xml
   branches/tomcat5.5/upstream/current/build/BUILDING.txt
   branches/tomcat5.5/upstream/current/build/KEYS
   branches/tomcat5.5/upstream/current/build/build.properties.default
   branches/tomcat5.5/upstream/current/build/build.xml
   branches/tomcat5.5/upstream/current/build/resources/build.xml
   branches/tomcat5.5/upstream/current/build/sign.bat
   branches/tomcat5.5/upstream/current/build/tomcat.nsi
   branches/tomcat5.5/upstream/current/connectors/KEYS
   branches/tomcat5.5/upstream/current/connectors/ajp/CHANGES
   branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/include/ajp.h
   branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/include/ajp_header.h
   branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/include/ajp_logon.h
   branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_header.c
   branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_link.c
   branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_logon.c
   branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_msg.c
   branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/test/httpd_wrap.c
   branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/test/httpd_wrap.h
   branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/test/testajp.c
   branches/tomcat5.5/upstream/current/connectors/ajp/proxy/JAKARTA
   branches/tomcat5.5/upstream/current/connectors/ajp/proxy/mod_proxy.c
   branches/tomcat5.5/upstream/current/connectors/ajp/proxy/mod_proxy.h
   branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_ajp.c
   branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_balancer.c
   branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_connect.c
   branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_ftp.c
   branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_http.c
   branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_util.c
   branches/tomcat5.5/upstream/current/connectors/build.xml
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/ActionCode.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/ActionHook.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Adapter.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Constants.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/InputBuffer.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/OutputBuffer.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Processor.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/ProtocolHandler.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Request.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/RequestGroupInfo.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/RequestInfo.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Response.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/memory/MemoryProtocolHandler.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/CoyoteInterceptor2.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/Tomcat3Adapter.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/Tomcat3Request.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/Tomcat3Response.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/Constants.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteAdapter.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteConnector.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteInputStream.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteOutputStream.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyotePrincipal.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequestFacade.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteResponse.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteResponseFacade.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteServerSocketFactory.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteWriter.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/OutputBuffer.java
   branches/tomcat5.5/upstream/current/connectors/coyote/src/test/org/apache/coyote/SimpleAdapter.java
   branches/tomcat5.5/upstream/current/connectors/http11/build.xml
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Constants.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11BaseProtocol.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11Protocol.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InputFilter.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalAprInputBuffer.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalInputBuffer.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalOutputBuffer.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/OutputFilter.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/BufferedInputFilter.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/ChunkedOutputFilter.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/GzipOutputFilter.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/IdentityInputFilter.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/IdentityOutputFilter.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/SavedRequestInputFilter.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/VoidInputFilter.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/VoidOutputFilter.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/test/java/org/apache/coyote/http11/FileTester.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/test/java/org/apache/coyote/http11/RandomAdapter.java
   branches/tomcat5.5/upstream/current/connectors/http11/src/test/java/org/apache/coyote/http11/TestAdapter.java
   branches/tomcat5.5/upstream/current/connectors/jk/BUILD.txt
   branches/tomcat5.5/upstream/current/connectors/jk/HOWTO-RELEASE
   branches/tomcat5.5/upstream/current/connectors/jk/build.xml
   branches/tomcat5.5/upstream/current/connectors/jk/conf/workers.properties
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/Ajp13.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/Ajp13Packet.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/AjpHandler.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/Logger.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/NegociationHandler.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/RequestHandler.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat33/Ajp14Interceptor.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Connector.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13InputStream.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Logger.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13OutputStream.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Processor.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Request.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Response.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Constants.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/JkServlet.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/ApacheConfig.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/BaseJkConfig.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/IISConfig.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/NSConfig.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/AjpAprProtocol.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/AjpMessage.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/Constants.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/apr/AprImpl.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/apr/TomcatStarter.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/AjpConstants.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelJni.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelNioSocket.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelShm.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelSocket.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelUn.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/HandlerDispatch.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/HandlerRequest.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/JkInputStream.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/JkMX.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/JniHandler.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ModJkMX.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/MsgAjp.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/Shm.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/Shm14.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/WorkerDummy.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/ApacheConfig.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/BaseJkConfig.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/GeneratorApache2.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/GeneratorJk1.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/GeneratorJk2.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/IISConfig.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/NSConfig.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/WebXml2Jk.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/JkChannel.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/JkHandler.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/Msg.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/MsgContext.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/WorkerEnv.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java
   branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/server/JkMain.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/ApacheConfig.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/Def.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/JkData.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/JniConfig.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/SoTask.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/Source.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/CcCompiler.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/CompilerAdapter.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/GcjCompiler.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/GcjLinker.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/LibtoolCompiler.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/LibtoolLinker.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/LinkerAdapter.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MsvcCompiler.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MsvcLinker.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MwccCompiler.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MwldLinker.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build.xml
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkBalancer.class
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkBalancerMapping.class
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkBalancerMember.class
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkServer.class
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatus.class
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusAccessor.class
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusParser.class
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusResetTask.class
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusTask.class
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusUpdateTask.class
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/antlib.xml
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/jkstatus.tasks
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/dist/tomcat-jkstatus-ant.jar
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/example/jkstatus.properties.default
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/example/jkstatus.xml
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancer.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancerMapping.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancerMember.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkServer.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatus.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusAccessor.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusParser.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusResetTask.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusTask.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateTask.java
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/antlib.xml
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/jkstatus.tasks
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/package.html
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/test/build.xml
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/test/conf/log4j.xml
   branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/test/src/share/org/apache/jk/status/JkStatusParserTest.java
   branches/tomcat5.5/upstream/current/connectors/jk/native/BUILDING
   branches/tomcat5.5/upstream/current/connectors/jk/native/CHANGES.txt
   branches/tomcat5.5/upstream/current/connectors/jk/native/STATUS.txt
   branches/tomcat5.5/upstream/current/connectors/jk/native/apache-1.3/Makefile.in
   branches/tomcat5.5/upstream/current/connectors/jk/native/apache-1.3/mod_jk.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/apache-2.0/Makefile.in
   branches/tomcat5.5/upstream/current/connectors/jk/native/apache-2.0/mod_jk.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp12_worker.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp12_worker.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13_worker.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13_worker.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14_worker.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14_worker.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp_common.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp_common.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_connect.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_connect.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_context.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_context.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_global.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_jni_worker.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_jni_worker.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_lb_worker.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_lb_worker.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_logger.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_map.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_map.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_md5.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_md5.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_msg_buff.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_msg_buff.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_mt.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_nwmain.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_pool.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_pool.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_service.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_shm.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_shm.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_sockbuf.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_sockbuf.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_status.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_status.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_types.h.in
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_uri_worker_map.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_uri_worker_map.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_util.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_util.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_version.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_worker.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_worker.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_worker_list.h
   branches/tomcat5.5/upstream/current/connectors/jk/native/common/portable.h.sample
   branches/tomcat5.5/upstream/current/connectors/jk/native/configure.in
   branches/tomcat5.5/upstream/current/connectors/jk/native/iis/Makefile.vc
   branches/tomcat5.5/upstream/current/connectors/jk/native/iis/installer/iisfilter.vbs
   branches/tomcat5.5/upstream/current/connectors/jk/native/iis/installer/isapi-redirector-win32-msi.ism
   branches/tomcat5.5/upstream/current/connectors/jk/native/iis/isapi.dsp
   branches/tomcat5.5/upstream/current/connectors/jk/native/iis/isapi_install.vbs
   branches/tomcat5.5/upstream/current/connectors/jk/native/iis/isapi_redirect.rc
   branches/tomcat5.5/upstream/current/connectors/jk/native/iis/jk_isapi_plugin.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/iis/pcre/dftables.dsp
   branches/tomcat5.5/upstream/current/connectors/jk/native/iis/pcre/mkinstalldirs
   branches/tomcat5.5/upstream/current/connectors/jk/native/jni/jk_jnicb.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/Makefile.solaris
   branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/README
   branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/jk_nsapi_plugin.c
   branches/tomcat5.5/upstream/current/connectors/jk/native/nt_service/jk_nt_service.c
   branches/tomcat5.5/upstream/current/connectors/jk/support/jk_apache_static.m4
   branches/tomcat5.5/upstream/current/connectors/jk/support/jk_apr.m4
   branches/tomcat5.5/upstream/current/connectors/jk/support/jk_apxs.m4
   branches/tomcat5.5/upstream/current/connectors/jk/support/jk_dominohome.m4
   branches/tomcat5.5/upstream/current/connectors/jk/support/jk_exec.m4
   branches/tomcat5.5/upstream/current/connectors/jk/support/jk_java.m4
   branches/tomcat5.5/upstream/current/connectors/jk/support/jk_pcre.m4
   branches/tomcat5.5/upstream/current/connectors/jk/support/jk_tchome.m4
   branches/tomcat5.5/upstream/current/connectors/jk/support/jk_ws.m4
   branches/tomcat5.5/upstream/current/connectors/jk/test/org/apache/ajp/test/TestAjp13.java
   branches/tomcat5.5/upstream/current/connectors/jk/test/org/apache/ajp/test/TestAll.java
   branches/tomcat5.5/upstream/current/connectors/jk/tools/jkrelease.sh
   branches/tomcat5.5/upstream/current/connectors/jk/tools/reports/tomcat_reports.pl
   branches/tomcat5.5/upstream/current/connectors/jk/tools/reports/tomcat_trend.pl
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/build.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/empty.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/index.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/confighowto.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configtc.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configtccom.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configtcex.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configweb.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configwebcom.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configwebex.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/installhowto.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/vhosthowto.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20041100.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20050101.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20060101.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/project.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/project.xml
   branches/tomcat5.5/upstream/current/connectors/jk/xdocs/style.xsl
   branches/tomcat5.5/upstream/current/connectors/jni/examples/mkcerts
   branches/tomcat5.5/upstream/current/connectors/jni/examples/org/apache/tomcat/jni/Echo.java
   branches/tomcat5.5/upstream/current/connectors/jni/examples/org/apache/tomcat/jni/LocalServer.java
   branches/tomcat5.5/upstream/current/connectors/jni/examples/org/apache/tomcat/jni/SSLServer.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/Apr.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Address.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/BIOCallback.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Directory.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Error.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/File.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/FileInfo.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Global.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Library.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Local.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Lock.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Mmap.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Multicast.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/OS.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/PasswordCallback.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Poll.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Pool.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/PoolCallback.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Proc.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/ProcErrorCallback.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Procattr.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Registry.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/SSL.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/SSLContext.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/SSLSocket.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Shm.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Sockaddr.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Socket.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Status.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Stdlib.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Thread.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Time.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/User.java
   branches/tomcat5.5/upstream/current/connectors/jni/java/overview.html
   branches/tomcat5.5/upstream/current/connectors/jni/jnirelease.sh
   branches/tomcat5.5/upstream/current/connectors/jni/native/build/buildcheck.sh
   branches/tomcat5.5/upstream/current/connectors/jni/native/build/lineends.pl
   branches/tomcat5.5/upstream/current/connectors/jni/native/buildconf
   branches/tomcat5.5/upstream/current/connectors/jni/native/config.layout
   branches/tomcat5.5/upstream/current/connectors/jni/native/configure.in
   branches/tomcat5.5/upstream/current/connectors/jni/native/include/ssl_private.h
   branches/tomcat5.5/upstream/current/connectors/jni/native/include/tcn.h
   branches/tomcat5.5/upstream/current/connectors/jni/native/include/tcn_api.h
   branches/tomcat5.5/upstream/current/connectors/jni/native/include/tcn_version.h
   branches/tomcat5.5/upstream/current/connectors/jni/native/os/netware/system.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/os/unix/system.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/os/unix/uxpipe.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/libtcnative.rc
   branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/ntpipe.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/registry.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/system.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/address.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/dir.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/error.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/file.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/info.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/jnilib.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/lock.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/misc.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/mmap.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/multicast.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/network.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/os.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/poll.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/pool.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/proc.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/shm.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/ssl.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslcontext.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslinfo.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslnetwork.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslutils.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/stdlib.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/thread.c
   branches/tomcat5.5/upstream/current/connectors/jni/native/src/user.c
   branches/tomcat5.5/upstream/current/connectors/jni/test/org/apache/tomcat/jni/FileTestSuite.java
   branches/tomcat5.5/upstream/current/connectors/juli/src/java/org/apache/juli/ClassLoaderLogManager.java
   branches/tomcat5.5/upstream/current/connectors/juli/src/java/org/apache/juli/FileHandler.java
   branches/tomcat5.5/upstream/current/connectors/procrun/bin/tomcat5.exe
   branches/tomcat5.5/upstream/current/connectors/procrun/bin/tomcat5.exe.amd64
   branches/tomcat5.5/upstream/current/connectors/procrun/bin/tomcat5w.exe
   branches/tomcat5.5/upstream/current/connectors/procrun/bin/tomcat5w.exe.amd64
   branches/tomcat5.5/upstream/current/connectors/util/build.xml
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/IntrospectionUtils.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/Ascii.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/B2CConverter.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/Base64.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/ByteChunk.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/C2BConverter.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/CharChunk.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/DateTool.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/HexUtils.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/MessageBytes.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/StringCache.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/TimeStamp.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/UDecoder.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/UEncoder.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/UTF8Decoder.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/EmptyEnumeration.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/LRUCache.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/MultiMap.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/MultiMapNamesEnumeration.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/MultiMapValuesEnumeration.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/Queue.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/SimpleHashtable.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/SimplePool.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/compat/Jdk14Compat.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/compat/JdkCompat.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/AbstractObjectCreationFactory.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/AbstractRulesImpl.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ArrayStack.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/CallMethodRule.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/CallParamRule.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/Digester.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/FactoryCreateRule.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/GenericParser.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/NodeCreateRule.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ObjectCreateRule.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ObjectCreationFactory.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ObjectParamRule.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ParserFeatureSetterFactory.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/PathCallParamRule.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/Rule.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/RuleSet.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/RuleSetBase.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/Rules.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/RulesBase.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetNextRule.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetPropertiesRule.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetPropertyRule.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetRootRule.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetTopRule.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/WithDefaultsRulesWrapper.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/XercesParser.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/AcceptLanguage.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/BaseRequest.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/ContentType.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/Cookies.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/FastHttpDateFormat.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/HttpMessages.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/MimeHeaders.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/MimeMap.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/Parameters.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/ServerCookie.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/mapper/Mapper.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/mapper/MappingData.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/log/CaptureLog.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/log/SystemLogHandler.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/DefaultServerSocketFactory.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/LeaderFollowerWorkerThread.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/MasterSlaveWorkerThread.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/PoolTcpEndpoint.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/SSLImplementation.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/SSLSupport.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/ServerSocketFactory.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/TcpConnection.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/TcpConnectionHandler.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/URL.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13Factory.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13SocketFactory.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE14Factory.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE14SocketFactory.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE14Support.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE15Factory.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE15SocketFactory.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSEFactory.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSEKeyManager.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSESupport.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSImplementation.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSSocket.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSSocketFactory.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSSupport.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/res/StringManager.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/Expirer.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/Reaper.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/ThreadPool.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/ThreadPoolRunnable.java
   branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/ThreadWithAttributes.java
   branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/Loader.java
   branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/Module.java
   branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/ModuleClassLoader.java
   branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/ModuleListener.java
   branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/Repository.java
   branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/RepositoryClassLoader.java
   branches/tomcat5.5/upstream/current/container/build.xml
   branches/tomcat5.5/upstream/current/container/catalina/build.xml
   branches/tomcat5.5/upstream/current/container/catalina/src/bin/catalina-tasks.xml
   branches/tomcat5.5/upstream/current/container/catalina/src/bin/catalina.bat
   branches/tomcat5.5/upstream/current/container/catalina/src/bin/catalina.sh
   branches/tomcat5.5/upstream/current/container/catalina/src/conf/server.xml
   branches/tomcat5.5/upstream/current/container/catalina/src/conf/web.xml
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Authenticator.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Cluster.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Contained.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Container.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ContainerEvent.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ContainerListener.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ContainerServlet.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Context.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Engine.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Globals.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Group.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Host.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/InstanceEvent.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/InstanceListener.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Lifecycle.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/LifecycleEvent.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/LifecycleException.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/LifecycleListener.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Loader.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Manager.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Pipeline.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Realm.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Role.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Server.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ServerFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Service.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Session.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/SessionEvent.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/SessionListener.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Store.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/User.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/UserDatabase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Valve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Wrapper.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/AbstractCatalinaTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/BaseRedirectorHelperTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/DeployTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/InstallTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JKStatusUpdateTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JMXGetTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JMXQueryTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JMXSetTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ListTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ReloadTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/RemoveTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ResourcesTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/RolesTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ServerinfoTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/SessionsTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/StartTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/StopTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/UndeployTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ValidatorTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/Arg.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorCondition.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorEqualsCondition.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorGetTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorInvokeTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorQueryTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorSetTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorUnregisterTask.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/BasicAuthenticator.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/Constants.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/DigestAuthenticator.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/NonLoginAuthenticator.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SSLAuthenticator.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SavedRequest.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SingleSignOn.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SingleSignOnEntry.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/ClientAbortException.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Connector.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Constants.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteAdapter.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteInputStream.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteOutputStream.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyotePrincipal.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteReader.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteWriter.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/InputBuffer.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/LocalStrings.properties
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/MapperListener.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/OutputBuffer.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Request.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/RequestFacade.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Response.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/ResponseFacade.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/mbeans-descriptors.xml
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationContext.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterChain.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationHttpRequest.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationHttpResponse.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationRequest.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationResponse.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/Constants.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ContainerBase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/DummyRequest.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/DummyResponse.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings.properties
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings_es.properties
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings_fr.properties
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings_ja.properties
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/NamingContextListener.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardContext.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardContextValve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardEngine.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardEngineValve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardHost.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardHostValve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardPipeline.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardServer.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardService.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardWrapper.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardWrapperFacade.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ApplicationParameter.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextEjb.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextEnvironment.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextLocalEjb.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextResource.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextResourceEnvRef.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextResourceLink.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextTransaction.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ErrorPage.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/FilterDef.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/FilterMap.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/LoginConfig.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/MessageDestination.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/MessageDestinationRef.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/NamingResources.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ResourceBase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/SecurityCollection.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/SecurityConstraint.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/launcher/CatalinaLaunchFilter.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/Constants.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/Reloader.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/ResourceEntry.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/StandardClassLoaderMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/WebappLoader.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ClassNameMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ConnectorMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ContextEnvironmentMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ContextResourceLinkMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ContextResourceMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/DefaultContextMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/GroupMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/NamingResourcesMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/RoleMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardContextMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardEngineMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardHostMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardServiceMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/UserMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/Constants.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/DataSourceRealm.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/GenericPrincipal.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JAASCallbackHandler.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JAASMemoryLoginModule.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JAASRealm.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JDBCRealm.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JNDIRealm.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/MemoryRuleSet.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/RealmBase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/security/SecurityClassLoad.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/security/SecurityConfig.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/security/SecurityUtil.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/CGIServlet.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/Constants.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/InvokerHttpRequest.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/InvokerServlet.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/Constants.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/FileStore.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/JDBCStore.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/ManagerBase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/PersistentManager.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StandardManager.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StandardSession.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StandardSessionFacade.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StoreBase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/ByteArrayServletOutputStream.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/ResponseIncludeWrapper.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSICommand.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIConfig.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIEcho.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIExec.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIExternalResolver.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIFilter.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIFlastmod.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIFsize.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIInclude.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIMediator.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIPrintenv.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIProcessor.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIServlet.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIServletExternalResolver.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSISet.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIStopProcessingException.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Authenticators.properties
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Bootstrap.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Catalina.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/CatalinaProperties.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ClassLoaderFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ClusterRuleSetFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ConnectorCreateRule.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Constants.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ContextRuleSet.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/CopyParentClassLoaderRule.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/DigesterFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Embedded.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/EngineConfig.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/EngineRuleSet.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ExpandWar.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/HomesUserDatabase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/HostConfig.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/HostRuleSet.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LifecycleListenerRule.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_es.properties
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_fr.properties
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_ja.properties
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/NamingRuleSet.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/PasswdUserDatabase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/SetAllPropertiesRule.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/SetContextPropertiesRule.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/SetNextNamingRule.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/TldConfig.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/TldRuleSet.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Tool.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/UserConfig.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/UserDatabase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/WebRuleSet.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/mbeans-descriptors.xml
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/AbstractGroup.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/AbstractRole.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/AbstractUser.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/Constants.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryGroup.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryRole.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryUser.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryUserDatabase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryUserDatabaseFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Base64.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CGIProcessEnvironment.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CharsetMapper.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CookieTools.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CustomObjectInputStream.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/DOMWriter.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/DateTool.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Enumerator.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Extension.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/FastDateFormat.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/HexUtils.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/IOTools.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/InstanceSupport.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/LifecycleSupport.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/MD5Encoder.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/MIME2Java.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ManifestResource.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ParameterMap.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ProcessEnvironment.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ProcessHelper.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Queue.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/RequestUtil.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ResourceSet.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/SchemaResolver.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ServerInfo.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Strftime.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/StringManager.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/StringParser.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/TomcatCSS.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/URL.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/URLEncoder.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/XMLWriter.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/Constants.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/ErrorReportValve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/FastCommonAccessLogValve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings.properties
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_es.properties
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_fr.properties
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_ja.properties
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/PersistentValve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RemoteAddrValve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RemoteHostValve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RequestDumperValve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RequestFilterValve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/SemaphoreValve.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/ValveBase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/Constants.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ContextAccessController.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ContextBindings.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/EjbRef.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/JndiPermission.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NameParserImpl.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingContext.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingContextBindingsEnumeration.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingContextEnumeration.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingEntry.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingService.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingServiceMBean.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ResourceEnvRef.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ResourceLinkRef.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ResourceRef.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/SelectorContext.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/StringManager.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/TransactionRef.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/BeanFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/Constants.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/EjbFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/MailSessionFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/OpenEjbFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/ResourceEnvFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/ResourceFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/ResourceLinkFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/SendMailFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/TransactionFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/java/javaURLContextFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/BaseDirContext.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/CacheEntry.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/Constants.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandler.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandlerFactory.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/FileDirContext.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ImmutableNameNotFoundException.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ProxyDirContext.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/RecyclableNamingEnumeration.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/Resource.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ResourceAttributes.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ResourceCache.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/WARDirContext.java
   branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/jndi/Handler.java
   branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/catalina/util/CookieToolsTestCase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/catalina/util/URLTestCase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/naming/resources/BaseDirContextTestCase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/naming/resources/FileDirContextTestCase.java
   branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/naming/resources/WARDirContextTestCase.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/build.xml
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/CatalinaCluster.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterDeployer.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterManager.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterMessage.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterReceiver.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterRuleSet.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterSender.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterSession.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterValve.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/Constants.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/Member.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/MembershipListener.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/MembershipService.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/MessageListener.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FarmWarDeployer.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FileChangeListener.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FileMessage.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FileMessageFactory.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/UndeployMessage.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/WarWatcher.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/ListenCallback.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/ObjectReader.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/SocketObjectReader.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/XByteBuffer.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/Constants.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastMember.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastMembership.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastService.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ClusterListener.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ClusterSessionListener.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/Constants.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaManager.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaRequest.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSessionFacade.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteBinderValve.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderLifecycleListener.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderListener.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ReplicatedSession.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ReplicationStream.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SerializablePrincipal.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionIDMessage.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionMessage.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionMessageImpl.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SimpleTcpReplicationManager.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/AsyncSocketSender.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterData.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/Constants.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/FastAsyncSocketSender.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/IDataSender.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/IDataSenderFactory.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/LocalStrings.properties
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/PooledSocketSender.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationValve.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SendMessageData.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SenderState.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationThread.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketSender.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/TcpReplicationThread.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ThreadPool.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/WorkerThread.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/FastQueue.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/IDynamicProperty.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/IQueue.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/LinkObject.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/SingleRemoveSynchronizedAddLock.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/SmartQueue.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/io/XByteBufferTest.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/session/DeltaManagerTest.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/session/DeltaSessionTest.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/DataSenderTest.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitterTest.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationValveTest.java
   branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/SimpleTcpClusterTest.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/doc/tomcat-docs.xsl
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ByteMessage.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Channel.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelException.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelInterceptor.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelListener.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelMessage.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelReceiver.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelSender.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Constants.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ErrorHandler.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Heartbeat.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ManagedChannel.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Member.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/MembershipListener.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/MembershipService.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/MessageListener.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/UniqueId.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelCoordinator.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelInterceptorBase.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/GroupChannel.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/InterceptorPayload.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/Response.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcCallback.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcChannel.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcMessage.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/FragmentationInterceptor.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/GzipInterceptor.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/MessageDispatch15Interceptor.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/MessageDispatchInterceptor.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool14Impl.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool15Impl.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ChannelData.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/DirectByteArrayOutputStream.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ListenCallback.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ReplicationStream.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/XByteBuffer.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Constants.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastService.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastServiceImpl.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/MemberImpl.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/ReplicatedMap.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/ReplicatedMapEntry.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/Streamable.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/Constants.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/DataSender.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/MultiPointSender.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/PooledSender.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ReplicationTransmitter.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/SenderState.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ThreadPool.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/WorkerThread.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioReplicationThread.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioSender.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/FastQueue.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/LinkObject.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/SingleRemoveSynchronizedAddLock.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReplicationThread.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/Arrays.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/Logs.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/StringManager.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/UUIDGenerator.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/ChannelCreator.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/IntrospectionUtils.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/LoadTest.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/test/channel/ChannelStartStop.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/test/interceptors/TestTwoPhaseCommit.java
   branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/test/membership/MemberSerialization.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/CatalinaCluster.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterDeployer.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterListener.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterManager.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterMessage.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterRuleSet.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterSession.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterValve.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/Constants.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/context/ReplicatedContext.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FarmWarDeployer.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FileChangeListener.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FileMessage.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FileMessageFactory.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/UndeployMessage.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/WarWatcher.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/BackupManager.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/ClusterManagerBase.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/ClusterSessionListener.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/Constants.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaManager.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaRequest.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaSession.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteBinderValve.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteSessionIDBinderLifecycleListener.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteSessionIDBinderListener.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/ReplicatedSession.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SerializablePrincipal.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionIDMessage.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionMessage.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionMessageImpl.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SimpleTcpReplicationManager.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/Constants.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/ReplicationValve.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/SendMessageData.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
   branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/util/IDynamicProperty.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/CatalinaClusterSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ConnectorSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppender.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/Constants.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IDynamicPropertyStoreAppender.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IStoreConfig.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IStoreFactory.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/InstanceListenerSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/LoaderSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ManagerSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/NamingResourcesSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/PersistentManagerSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardContextSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardEngineSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardHostSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardServerSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardServiceSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreAppender.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreConfig.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreContextAppender.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreDescription.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFactoryBase.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFactoryRule.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFileMover.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreLoader.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreRegistry.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WatchedResourceSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WrapperLifecycleSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WrapperListenerSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ConnectorSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppenderTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/DescriptorHelper.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/InfoLifecycleListener.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/LF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/LoaderSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ManagerSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ServerChildsTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardContextSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardEngineSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardHostSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardServiceSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreAppenderTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreLoaderTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreRegistryTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/CatalinaClusterSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ConnectorSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppender.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/Constants.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IDynamicPropertyStoreAppender.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IStoreConfig.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IStoreFactory.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/InstanceListenerSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/LoaderSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ManagerSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/NamingResourcesSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/PersistentManagerSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardContextSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardEngineSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardHostSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardServerSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardServiceSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreAppender.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreConfig.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreContextAppender.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreDescription.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFactoryBase.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFactoryRule.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFileMover.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreLoader.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreRegistry.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WatchedResourceSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WrapperLifecycleSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WrapperListenerSF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ConnectorSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppenderTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/DescriptorHelper.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/InfoLifecycleListener.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/LF.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/LoaderSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ManagerSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ServerChildsTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardContextSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardEngineSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardHostSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardServiceSFTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreAppenderTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreLoaderTest.java
   branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreRegistryTest.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Aggregate01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Aggregate02.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication02.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication03.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication05.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication06.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/CharArrayResponse.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/CharArrayWriterUpperCase.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Context00.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Context01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Context02.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ContextBean.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ContextListener01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ContextListener02.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/DatePropertyEditor.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Decoding01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage02.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage03.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage04.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage05.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage06.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage07.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterRequest01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterRequest02.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterRequest02a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterResponse01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterResponse04.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterResponse04a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward00.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward00a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward00d.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward03.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward03a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward04.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward04a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward04b.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward05.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward05a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward05b.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward06.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward06a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward06b.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward07.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward07a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward07b.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward08.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward08a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward08b.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward09.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetHeaders01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetInputStream01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetLocales01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetLocales02.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetParameter01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetParameterMap00.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetQueryString01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Golden01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include00.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include00a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include00d.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include02.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include02a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include03.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include03a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include04.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include04a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include04b.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include06a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07b.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07c.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include09.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include10.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include10a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Jndi01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Jndi02.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Lifecycle01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Lifecycle02.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Lifecycle03.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Redirect01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Redirect01a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Reflection01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Request01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/RequestListener01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Reset01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources02.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources03.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources04.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources05.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources06.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ResponseWrap01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ResponseWrap01a.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ResponseWrap01c.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session02.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session03.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session04.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session05.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session06.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionBean.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionListener01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionListener02.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionListener03.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SetBufferSize01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SetLocale01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/StaticFilter.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/StaticLogger.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TestClient.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterException.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterHttpServletRequestWrapper.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterHttpServletResponseWrapper.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterServletRequestWrapper.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterServletResponseWrapper.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseFilter.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseInputStream.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseOutputStream.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseReader.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseRequest.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseResponse.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseWriter.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/WrapperFilter.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Xerces01.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Xerces01Parser.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/shared/SharedSessionBean.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/unpshared/UnpSharedSessionBean.java
   branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/unshared/UnsharedSessionBean.java
   branches/tomcat5.5/upstream/current/container/webapps/ROOT/WEB-INF/web.xml
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ActionTag.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ActionsTag.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationLocales.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources.properties
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationServlet.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/AttributeTag.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/CommitChangesAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DataTag.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpRegistryAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpServerAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LabelTag.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LabelValueBean.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/Lists.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LogOutAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/RowTag.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetLocaleAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetLocaleForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetUpTreeAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TableTag.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TomcatTreeBuilder.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeBuilder.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControl.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlNode.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlTag.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlTestAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/AddConnectorAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorsForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorsAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/EditConnectorAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/AddContextAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/ContextForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/ContextsForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextsAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/EditContextAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/SaveContextAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/filters/SetCharacterEncodingFilter.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AddAliasAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AddHostAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AliasForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AliasesForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasesAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostsAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/EditHostAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/HostForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/HostsForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveAliasAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveHostAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/AddRealmAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DataSourceRealmForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmsAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/EditRealmAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/JDBCRealmForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/JNDIRealmForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/MemoryRealmForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/RealmForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/RealmsForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveDataSourceRealmAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJDBCRealmAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveMemoryRealmAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveUserDatabaseRealmAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/UserDatabaseRealmForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/BaseForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DataSourceForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DataSourcesForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteDataSourcesAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteEnvEntriesAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteMailSessionsAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteResourceLinksAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteUserDatabasesAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/EnvEntriesForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/EnvEntryForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListDataSourcesAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListEnvEntriesAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListMailSessionsAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListResourceLinksAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListUserDatabasesAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/MailSessionForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/MailSessionsForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceLinkForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceLinksForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceUtils.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourcesTreeBuilder.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveDataSourceAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveEnvEntryAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveMailSessionAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveResourceLinkAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveUserDatabaseAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpDataSourceAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpEnvEntryAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpMailSessionAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpResourceLinkAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpUserDatabaseAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/UserDatabaseForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/UserDatabasesForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/EditServerAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/SaveServerAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/ServerForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/AddServiceAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServiceAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServicesAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/EditServiceAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/SaveServiceAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServiceForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServicesForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/BaseForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteGroupsAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteRolesAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteUsersAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupsForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListGroupsAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListRolesAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListUsersAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RoleForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RolesForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveGroupAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveRoleAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveUserAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpGroupAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpRoleAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpUserAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UserForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UserUtils.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersTreeBuilder.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/AccessLogValveForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/AddValveAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/DeleteValveAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/DeleteValvesAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/EditValveAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RemoteAddrValveForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RemoteHostValveForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RequestDumperValveForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveAccessLogValveAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRemoteAddrValveAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRemoteHostValveAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRequestDumperValveAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveSingleSignOnValveAction.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SingleSignOnValveForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveUtil.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValvesForm.java
   branches/tomcat5.5/upstream/current/container/webapps/admin/connector/connector.jsp
   branches/tomcat5.5/upstream/current/container/webapps/admin/resources/envEntry.jsp
   branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/BalancerFilter.java
   branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/Rule.java
   branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/RuleChain.java
   branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/RulesParser.java
   branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/AcceptEverythingRule.java
   branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/BaseRule.java
   branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RemoteAddressRule.java
   branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestAttributeRule.java
   branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestHeaderRule.java
   branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestParameterRule.java
   branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/SessionAttributeRule.java
   branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/URLStringMatchRule.java
   branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/UserRoleRule.java
   branches/tomcat5.5/upstream/current/container/webapps/docs/appdev/sample/src/mypackage/Hello.java
   branches/tomcat5.5/upstream/current/container/webapps/docs/building.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/changelog.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/cluster-howto.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/config/ajp.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/config/context.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/config/engine.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/config/globalresources.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/config/host.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/config/http.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/config/loader.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/config/realm.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/config/valve.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/funcspecs/mbean-names.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/index.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/jasper-howto.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/jndi-resources-howto.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/logging.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/manager-howto.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/monitoring.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/project.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/realm-howto.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/setup.xml
   branches/tomcat5.5/upstream/current/container/webapps/docs/ssl-howto.xml
   branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/Constants.java
   branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HTMLHostManagerServlet.java
   branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HostManagerServlet.java
   branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/web.xml
   branches/tomcat5.5/upstream/current/container/webapps/jmxremote/WEB-INF/web.xml
   branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/Constants.java
   branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/HTMLManagerServlet.java
   branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/JMXProxyServlet.java
   branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/LocalStrings.properties
   branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java
   branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusManagerServlet.java
   branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusTransformer.java
   branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/web.xml
   branches/tomcat5.5/upstream/current/container/webapps/webdav/WEB-INF/web.xml
   branches/tomcat5.5/upstream/current/jasper/build.xml
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/Constants.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/EmbeddedServletOptions.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/JasperException.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/JspC.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/JspCompilationContext.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/Options.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/AntCompiler.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/BeanRepository.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Collector.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Compiler.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/DefaultErrorHandler.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Dumper.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ELFunctionMapper.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ELNode.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ELParser.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ErrorDispatcher.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ErrorHandler.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Generator.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JDTCompiler.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JasperTagInfo.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JavacErrorDetail.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspConfig.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspDocumentParser.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspReader.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspRuntimeContext.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspUtil.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Localizer.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Mark.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Node.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/PageDataImpl.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/PageInfo.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Parser.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ParserController.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ScriptingVariabler.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ServletWriter.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/SmapGenerator.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/SmapStratum.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/SmapUtil.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagConstants.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagFileProcessor.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagPluginManager.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TextOptimizer.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TldLocationsCache.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Validator.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/tagplugin/TagPlugin.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/tagplugin/TagPluginContext.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/resources/LocalStrings.properties
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/BodyContentImpl.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/HttpJspBase.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspContextWrapper.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspFactoryImpl.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspFragmentHelper.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspRuntimeLibrary.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspSourceDependent.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspWriterImpl.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/PageContextImpl.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/PerThreadTagHandlerPool.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/ProtectedFunctionMapper.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/ServletResponseWrapperInclude.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/TagHandlerPool.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/security/SecurityClassLoad.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/security/SecurityUtil.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JasperLoader.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JspCServletContext.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JspServlet.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JspServletWrapper.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/Util.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Catch.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Choose.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/ForEach.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/ForTokens.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/If.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Import.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Otherwise.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Out.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Param.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Redirect.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Remove.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Set.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Url.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/When.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/FastDateFormat.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/Queue.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/SimplePool.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/SystemLogHandler.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/ASCIIReader.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/EncodingMap.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/ParserUtils.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/SymbolTable.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/TreeNode.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/UCSReader.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/UTF8Reader.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLChar.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLEncodingDetector.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLString.java
   branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLStringBuffer.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/Entries.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/Entry.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/JspCalendar.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/TableBean.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/checkbox/CheckTest.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/colors/ColorGameBean.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/dates/JspCalendar.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/error/Smart.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/ExampleTagBase.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/FooTag.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/FooTagExtraInfo.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/LogTag.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/ShowSource.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/filters/ExampleFilter.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/filters/RequestDumperFilter.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/BookBean.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/FooBean.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/el/Functions.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/listeners/ContextListener.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/listeners/SessionListener.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/num/NumberGuessBean.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/servletToJsp.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/sessions/DummyCart.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/util/HTMLFilter.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/validators/DebugValidator.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp/applet/Clock2.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp/debug-taglib.tld
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp/example-taglib.tld
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp2/jsp2-example-taglib.tld
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/displayProducts.tag
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/helloWorld.tag
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/panel.tag
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/xhtmlbasic.tag
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/web.xml
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/cal1.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/cal2.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/calendar.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/login.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/CheckTest.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/check.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/checkresult.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/cresult.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/ColorGameBean.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/clr.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/colors.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/colrs.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/dates/date.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/dates/date.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/er.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/err.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/error.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/errorpge.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/foo.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/foo.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/inc.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/include.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/index.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-arithmetic.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-arithmetic.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-comparisons.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-comparisons.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/functions.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/functions.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/implicit-objects.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/jspattribute.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/jspattribute.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/shuffle.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/shuffle.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspx/basic.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspx/svgexample.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspx/textRotate.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/config.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/config.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/dynamicattrs.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/dynamicattrs.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/book.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/book.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/hello.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/hello.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/repeat.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/repeat.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/hello.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/hello.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/panel.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/panel.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/products.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsptoserv/hello.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsptoserv/jsptoservlet.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsptoserv/jts.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/num/numguess.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/num/numguess.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/plugin/applet/Clock2.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/plugin/plugin.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/plugin/plugin.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/security/protected/error.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/security/protected/index.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/security/protected/login.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/DummyCart.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/carts.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/carts.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/crt.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/simpletag/foo.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/simpletag/foo.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/snp/snoop.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/snp/snoop.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/source.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/choose.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/choose.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/foreach.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/foreach.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/howto.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/if.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/if.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/notes.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/xml/xml.html
   branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/xml/xml.jsp
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/ant/task/Txt2Html.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/jsp_2_0.xsd
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/jspxml.dtd
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/jspxml.xsd
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_1_1.dtd
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_1_2.dtd
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/ErrorData.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/HttpJspPage.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspContext.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspEngineInfo.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspException.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspFactory.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspPage.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspTagException.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspWriter.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/PageContext.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/SkipPageException.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/ELException.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/ELParseException.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/Expression.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/FunctionMapper.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/VariableResolver.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyContent.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyTagSupport.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/DynamicAttributes.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/FunctionInfo.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/JspFragment.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/JspTag.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/PageData.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/Tag.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagAdapter.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagAttributeInfo.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagData.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagExtraInfo.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagFileInfo.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagSupport.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagVariableInfo.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TryCatchFinally.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/ValidationMessage.java
   branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/CookieExample.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/HelloWorldExample.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings.properties
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_en.properties
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_es.properties
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_fr.properties
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_pt.properties
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/RequestHeaderExample.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/RequestInfoExample.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/RequestParamExample.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/SessionExample.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/filters/ExampleFilter.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/filters/RequestDumperFilter.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/listeners/ContextListener.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/listeners/SessionListener.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/util/HTMLFilter.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/web.xml
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/cookies.html
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/helloworld.html
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/index.html
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/reqheaders.html
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/reqinfo.html
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/reqparams.html
   branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/sessions.html
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/XMLSchema.dtd
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/datatypes.dtd
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/j2ee_1_4.xsd
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/j2ee_web_services_1_1.xsd
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/j2ee_web_services_client_1_1.xsd
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/jsp_2_0.xsd
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/jspxml.dtd
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/jspxml.xsd
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-app_2_2.dtd
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-app_2_3.dtd
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-app_2_4.xsd
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_1_1.dtd
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_1_2.dtd
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/xml.xsd
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/Filter.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/FilterChain.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/FilterConfig.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/GenericServlet.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/LocalStrings.properties
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/LocalStrings_fr.properties
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/LocalStrings_ja.properties
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/RequestDispatcher.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/Servlet.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletConfig.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContext.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextAttributeEvent.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextAttributeListener.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextEvent.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextListener.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletException.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletInputStream.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletOutputStream.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequest.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestAttributeEvent.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestAttributeListener.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestEvent.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestListener.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestWrapper.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletResponse.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletResponseWrapper.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/SingleThreadModel.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/UnavailableException.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/Cookie.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServlet.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletRequest.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletRequestWrapper.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletResponse.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletResponseWrapper.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSession.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionActivationListener.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionAttributeListener.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionBindingEvent.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionBindingListener.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionContext.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionEvent.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionListener.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpUtils.java
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings.properties
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_es.properties
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_fr.properties
   branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_ja.properties
Log:
Upgrade to 5.5.23.


Modified: branches/tomcat5.5/upstream/current/build/BUILDING.txt
===================================================================
--- branches/tomcat5.5/upstream/current/build/BUILDING.txt	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/build/BUILDING.txt	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,4 +1,4 @@
-$Id: BUILDING.txt 432252 2006-08-17 14:41:02Z jfclere $
+$Id: BUILDING.txt 490052 2006-12-24 17:41:23Z yoavs $
 
                  =============================================
                  Building The Tomcat 5.5 Servlet/JSP Container
@@ -47,10 +47,30 @@
   available, which will be used to actually perform the build.
 
 
-(2) Building Tomcat 5.5
+(2) Install Subversion 1.3.x on your computer
 
-(2.1) Download main build script and build binary distribution
+* If Subversion 1.3.x is already installed on your computer, skip to (3).
 
+* Download a binary distribution of Subversion 1.3.x from:
+
+    http://subversion.tigris.org/project_packages.html
+
+* Unpack the binary distribution into a convenient location so that the
+  Subversion release resides in its own directory.
+
+* Modify the PATH environment variable to include the directory 
+  ${svn.home}/bin in its list, where "${svn.home}" is the full pathname 
+  of the subversion release directory. This makes the "svn" command
+  available, which will be used to checkout the tomcat sources.
+
+* NOTE: If you're running behind a proxy server, the SVN checkout of Tomcat
+  source code may fail.  See http://subversion.tigris.org/faq.html#proxy for
+  ways to work around this.
+
+(3) Building Tomcat 5.5
+
+(3.1) Download main build script and build binary distribution
+
 * Download the main build.xml script from:
   http://tomcat.apache.org/tomcat-5.5-doc/build.xml
 
@@ -58,7 +78,7 @@
   directory will be referred to as the ${tomcat.source} directory in the rest
   of this document
 
-(2.2) Building
+(3.2) Building
 
 * Go to that directory, and do:
 
@@ -90,7 +110,7 @@
     base.path=/usr/share/java
 
 
-(3) Updating sources
+(4) Updating sources
 
 It is recommended that you regularly update the downloaded Tomcat 5 sources. 
 To do this, execute the following commands:
@@ -99,7 +119,7 @@
     ant checkout
 
 
-(4) Rebuilds
+(5) Rebuilds
 
 For a quick rebuild of only modified code you can use 
    
@@ -110,7 +130,7 @@
 tomcat depends on ( commons-logging for now ), to ease fixes
 and debuging in those packages.
 
-(5) Building The "compat" Package
+(6) Building The "compat" Package
 
 Tomcat 5.5 is designed to run on J2SE 5.0, but will run on
 J2SE versions 1.3 and 1.4 as well as long as the compatability
@@ -121,13 +141,13 @@
     cd ${tomcat.source}
     ant build-compat
 
-(6) Building the servlet and jsp API documentation
+(7) Building the servlet and jsp API documentation
 
 The documentation can be easly rebuild, do
     cd ${tomcat.source}/build
     ant dist-javadoc
 
-(7) Building a release running tests:
+(8) Building a release running tests:
 
 do
     cd ${tomcat.source}/build

Modified: branches/tomcat5.5/upstream/current/build/KEYS
===================================================================
--- branches/tomcat5.5/upstream/current/build/KEYS	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/build/KEYS	2007-05-21 10:51:24 UTC (rev 3531)
@@ -329,3 +329,40 @@
 =ttOX
 -----END PGP PUBLIC KEY BLOCK-----
 
+pub   1024D/0D811BBE 2006-11-14
+      Key fingerprint = F3A0 4C59 5DB5 B6A5 F1EC  A43E 3B7B BB10 0D81 1BBE
+uid                  Yoav Shapira <yoavs at computer.org>
+sig 3        0D811BBE 2006-11-14  Yoav Shapira <yoavs at computer.org>
+sub   2048g/286BACF1 2006-11-14
+sig          0D811BBE 2006-11-14  Yoav Shapira <yoavs at computer.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.5 (MingW32)
+
+mQGiBEVZ4AwRBAC9WDbCjRX9Q81Con7cycGkkui6JZndLhX3Jbzlc/eHG0/fUetP
+0c5ZdIvTyjj+L/DRI6btrgl+jR64qkuapsYD/KDXQGkpK5zPpmxUPmXJ5tfVTbOj
+gacUm2cZjYjSK3dsIs4sDUqNYfBfdwesJ+Hycc7XqkTF1lO2MN9yp8g+4wCg0W8x
+/ZYCTb9D8JOPzfSNf8cIFCkD/j5GXA2xlSXuAFBgWpFak5OkeF8cwEkv0CQ0zCqP
+R/rTmDGO/73dpQEzgY+gLMSvtkK0pVEYaE15lg2mxma9d0pGE+fmsu5w7SQUip15
+HN5E3qP/VB4X1yp+YiHPGTDjRgJm+xbvTGSFFr0wNSSYCVpVGdYHNmetYsB5JqkH
+YmiWA/4vnkWnkzQeUNNPvep0lSrEG9jiON4k/d5opWwjxIP4aev8V7//V9ASzznF
+D6eEL23ePX5ZuKLyDeOSRAwaPpa/Rp4AkiUGzKK21wAwKip+lcbT5m2ButoQhgNI
+ZlmnfhN7E2t2S6iS9VzHEo1S8Jv9uQZJ89Tp5fiFe1pXL2qBHrQhWW9hdiBTaGFw
+aXJhIDx5b2F2c0Bjb21wdXRlci5vcmc+iGAEExECACAFAkVZ4AwCGwMGCwkIBwMC
+BBUCCAMEFgIDAQIeAQIXgAAKCRA7e7sQDYEbvgiLAKDHEgeJyxlrxNJ4m51jOnhG
+xlsLOQCbBWAdTjpMVcNqmd6Fa5fgyCbh8XS5Ag0ERVngFBAIAIEVU1iOoq4CyD3I
+f+AChfSFAgqjKmjqEyPv2RDLPkI3g2FvC6HvOlUucIe6IjqvTXztdxSRQu2EGq5i
+W8e5ajTZiI9ZNs26XLL4/q/gYRaDjUsI7J3PAOL9lNdws6ZoqlCh44R/cvekuixx
+HoHGskGxAHBRdjv9Oqy4x5hR5kebGq9Ayf8CQZ3l7aRekwlMUyCsmMkNxmqMls2g
+ViBFD0/9a/xodE2VMVMg5eQ8A0enlrGDghG9d2m586JtOje55rMVnVPkEuNkz9AC
+DkR0CiwQqX72Ub10t/qcNqbDeMHFacOBYRKfS7Qdm3/jb8Tc4jO/AXFcUGbH5niz
+pPGs+UMAAwUH/1M2unaFyfJddVPQRZCJEFxdlxkg40tewgjaNJLwnqOJXw1RENNM
+bSx4Gvz8M6WvZtkvITt29P+O4EmGq+LYTKmLM/E399KuqoZGbyCu3Gm+RIxKmRkf
+Y3izseOhrUX2ycUIOF1BFzIYs6HeO/sZeba1bapOFo/xS6NwnuJl6uXUmynGjVtY
+gvQ+dLYAcDXUQJd+QjyXdsbnp1jmdSrqqscPGOquRAw7/sp/ivom4DDHMTz4HErz
+NfHzn4z8kUE7T1EEpnFU4SBiJkpm/+yEhEq9hDG2GZmxfQd34iRXpC5B4ZbRiwW8
+p/bhzvcxZcrahQzu5yyq2+kGhK7IA9APFGSISQQYEQIACQUCRVngFAIbDAAKCRA7
+e7sQDYEbvppSAJ9+i7TzCNvZ4PK/odiIWeZ61+KKyACfSjQXnC5UbxndwtkOzFKf
+Io8ZP0E=
+=xT1M
+-----END PGP PUBLIC KEY BLOCK-----

Modified: branches/tomcat5.5/upstream/current/build/build.properties.default
===================================================================
--- branches/tomcat5.5/upstream/current/build/build.properties.default	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/build/build.properties.default	2007-05-21 10:51:24 UTC (rev 3531)
@@ -6,7 +6,7 @@
 # modules that Tomcat depends on.  Copy this file to "build.properties"
 # in the top-level source directory, and customize it as needed.
 #
-# $Id: build.properties.default 442598 2006-09-12 14:43:38Z fhanik $
+# $Id: build.properties.default 490052 2006-12-24 17:41:23Z yoavs $
 # -----------------------------------------------------------------------------
 
 # ----- Vesion Control Flags -----
@@ -120,11 +120,11 @@
 commons-logging.loc=${base-jakarta.loc}/commons/logging/binaries/commons-logging-1.0.4.tar.gz
 
 
-# ----- Commons Modeler, version 1.1 or later -----
-commons-modeler.home=${base.path}/commons-modeler-1.1
+# ----- Commons Modeler, version 2.0 or later -----
+commons-modeler.home=${base.path}/commons-modeler-2.0
 commons-modeler.lib=${commons-modeler.home}
-commons-modeler.jar=${commons-modeler.lib}/commons-modeler.jar
-commons-modeler.loc=${base-jakarta.loc}/commons/modeler/binaries/modeler-1.1.tar.gz
+commons-modeler.jar=${commons-modeler.lib}/commons-modeler-2.0.jar
+commons-modeler.loc=${base-jakarta.loc}/commons/modeler/binaries/commons-modeler-2.0.tar.gz
 
 # ----- Xerces XML Parser, version 2.8.0 -----
 xerces.home=${base.path}/xerces-2_8_0
@@ -138,13 +138,13 @@
 jdt.home=${base.path}/eclipse/plugins
 jdt.lib=${jdt.home}
 jdt.jar=${jdt.lib}/org.eclipse.jdt.core_3.1.2.jar
-jdt.loc=http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.1.2-200601181600/eclipse-JDT-3.1.2.zip
+jdt.loc=http://archive.eclipse.org/eclipse/downloads/drops/R-3.1.2-200601181600/eclipse-JDT-3.1.2.zip
 
 
 # ----- Tomcat native library -----
-tomcat-native.home=${base.path}/tomcat-native-1.1.4
+tomcat-native.home=${base.path}/tomcat-native-current
 tomcat-native.tar.gz=${tomcat-native.home}/tomcat-native.tar.gz
-tomcat-native.loc=${base-tomcat.loc}/tomcat-connectors/native/tomcat-native-1.1.4.tar.gz
+tomcat-native.loc=${base-tomcat.loc}/tomcat-connectors/native/tomcat-native-current.tar.gz
 
 
 # --------------------------------------------------

Modified: branches/tomcat5.5/upstream/current/build/build.xml
===================================================================
--- branches/tomcat5.5/upstream/current/build/build.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/build/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,6 +1,7 @@
+<?xml version="1.0"?>
+<!-- This is the main Tomcat 5.5 build file: it invokes most of the others. -->
 <project name="Tomcat 5.5" default="deploy" basedir=".">
 
-
   <!-- ===================== Initialize Property Values =================== -->
 
   <!-- See "build.properties.sample" in the top level directory for all     -->
@@ -12,7 +13,7 @@
 
   <!-- Project Properties -->
   <property name="name"                  value="Apache Tomcat" />
-  <property name="year"                  value="2005" />
+  <property name="year"                  value="2006" />
   <property name="version.major"         value="5" />
   <property name="version.minor"         value="5" />
   <property name="version.build"         value="0" />
@@ -694,8 +695,6 @@
         </fileset>
         <fileset dir="${commons-pool.home}">
             <include name="**/*.java" />
-            <exclude name="**/Stack*.java" />
-            <exclude name="**/SoftReferenceObjectPool.java" />
             <exclude name="**/test/**" />
         </fileset>
         <fileset dir="${commons-dbcp.home}">
@@ -1255,9 +1254,10 @@
 
   <!-- ====================== DIST: Copy Static Files ===================== -->
   <target name="dist-static" depends="dist-prepare">
+    <filter token="VERSION" value="${version}"/>
 
     <!-- Copy the top-level documentation files -->
-    <copy todir="${tomcat.dist}">
+    <copy todir="${tomcat.dist}" filtering="true" >
       <fileset dir=".">
         <include name="INSTALLING.txt"/>
         <include name="LICENSE"/>

Modified: branches/tomcat5.5/upstream/current/build/resources/build.xml
===================================================================
--- branches/tomcat5.5/upstream/current/build/resources/build.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/build/resources/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,6 +1,8 @@
-<project name="Tomcat 5.0 Netbuild" default="build" basedir=".">
+<?xml version="1.0"?>
+<!-- This file is the Tomcat 5.x net build file.  It's what users run to build Tomcat -->
+<!-- from scratch.  See BUILDING.txt for the full instructions.                       -->
+<project name="Tomcat 5 Netbuild" default="build" basedir=".">
 
-
   <!-- ===================== Initialize Property Values =================== -->
 
   <!-- See "build.properties.sample" in the top level directory for all     -->
@@ -11,9 +13,9 @@
 
   <!-- Project Properties -->
   <property name="name"                  value="Apache Tomcat" />
-  <property name="year"                  value="2005" />
+  <property name="year"                  value="2006" />
   <property name="version"               value="5.5" />
-  <property name="project"               value="jakarta-tomcat" />
+  <property name="project"               value="apache-tomcat" />
   <property name="final.name"            value="${project}-${version}" />
   <property name="final-src.name"        value="${project}-${version}-src" />
 
@@ -65,10 +67,18 @@
           description="Update or checkout required sources from SVN">
 
     <echo level="info"
-        message="If the checkout fails, - todo - " />
+          message="If the checkout fails, see http://tomcat.apache.org/svn.html and http://subversion.tigris.org/faq.html#proxy" />
 
-    <exec dir="${basedir}" executable="svn">
-         <arg line="checkout ${svnroot}/${current.loc} ${basedir}" />
+    <!-- Bugzilla 37977: http://issues.apache.org/bugzilla/show_bug.cgi?id=37977 -->
+    <!--  hackish: inputstring="t${line.separator}" is t+<enter> for svn         -->
+    <!--  to temporarily accept the certificate of svn.apache.org.               -->
+    <exec dir="${basedir}"
+          executable="svn"
+          inputstring="t${line.separator}"
+          failonerror="true">
+      <arg value="checkout" />
+      <arg value="${svnroot}/${current.loc}" />
+      <arg value="${basedir}" />
     </exec>
 
   </target>

Modified: branches/tomcat5.5/upstream/current/build/sign.bat
===================================================================
--- branches/tomcat5.5/upstream/current/build/sign.bat	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/build/sign.bat	2007-05-21 10:51:24 UTC (rev 3531)
@@ -6,7 +6,7 @@
 rem todo - make one for unix as well, and avoid signing the .md5 files
 
 @echo off
-FOR /R %cd%\release\v5.5.20 %%i in (*.*) do (
+FOR /R %cd%\release\v5.5.19 %%i in (*.*) do (
   echo Signing %%i
   echo %1|gpg --passphrase-fd 0 -a -b %%i 
 )

Modified: branches/tomcat5.5/upstream/current/build/tomcat.nsi
===================================================================
--- branches/tomcat5.5/upstream/current/build/tomcat.nsi	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/build/tomcat.nsi	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,6 +1,6 @@
 
 ; Tomcat script for Nullsoft Installer
-; $Id: tomcat.nsi 441019 2006-09-07 08:31:38Z mturk $
+; $Id: tomcat.nsi 451508 2006-09-30 00:49:37Z markt $
 
   ;Compression options
   CRCCheck on
@@ -80,9 +80,9 @@
 
   ;Component-selection page
     ;Descriptions
-    LangString DESC_SecTomcat ${LANG_ENGLISH} "Install the Tomcat Servlet container."
+    LangString DESC_SecTomcat ${LANG_ENGLISH} "Install the Tomcat Servlet container as a Windows service."
     LangString DESC_SecTomcatCore ${LANG_ENGLISH} "Install the Tomcat Servlet container core."
-    LangString DESC_SecTomcatService ${LANG_ENGLISH} "Automatically start Tomcat when the computer is started. This requires Windows NT 4.0, Windows 2000 or Windows XP."
+    LangString DESC_SecTomcatService ${LANG_ENGLISH} "Automatically start the Tomcat service when the computer is started. This requires Windows NT 4.0, Windows 2000 or Windows XP."
     LangString DESC_SecTomcatNative ${LANG_ENGLISH} "Downloads and installs Tomcat native .dll for better performance and scalability in production environments."
 ;    LangString DESC_SecTomcatSource ${LANG_ENGLISH} "Install the Tomcat source code."
     LangString DESC_SecMenu ${LANG_ENGLISH} "Create a Start Menu program group for Tomcat."
@@ -176,7 +176,7 @@
 
 SectionEnd
 
-Section "Service" SecTomcatService
+Section "Service Startup" SecTomcatService
 
   SectionIn 3
 

Modified: branches/tomcat5.5/upstream/current/build.xml
===================================================================
--- branches/tomcat5.5/upstream/current/build.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,6 +1,8 @@
-<project name="Tomcat 5.0 Netbuild" default="build" basedir=".">
+<?xml version="1.0"?>
+<!-- This file is the Tomcat 5.x net build file.  It's what users run to build Tomcat -->
+<!-- from scratch.  See BUILDING.txt for the full instructions.                       -->
+<project name="Tomcat 5 Netbuild" default="build" basedir=".">
 
-
   <!-- ===================== Initialize Property Values =================== -->
 
   <!-- See "build.properties.sample" in the top level directory for all     -->
@@ -11,9 +13,9 @@
 
   <!-- Project Properties -->
   <property name="name"                  value="Apache Tomcat" />
-  <property name="year"                  value="2005" />
+  <property name="year"                  value="2006" />
   <property name="version"               value="5.5" />
-  <property name="project"               value="jakarta-tomcat" />
+  <property name="project"               value="apache-tomcat" />
   <property name="final.name"            value="${project}-${version}" />
   <property name="final-src.name"        value="${project}-${version}-src" />
 
@@ -65,10 +67,18 @@
           description="Update or checkout required sources from SVN">
 
     <echo level="info"
-        message="If the checkout fails, - todo - " />
+          message="If the checkout fails, see http://tomcat.apache.org/svn.html and http://subversion.tigris.org/faq.html#proxy" />
 
-    <exec dir="${basedir}" executable="svn">
-         <arg line="checkout ${svnroot}/${current.loc} ${basedir}" />
+    <!-- Bugzilla 37977: http://issues.apache.org/bugzilla/show_bug.cgi?id=37977 -->
+    <!--  hackish: inputstring="t${line.separator}" is t+<enter> for svn         -->
+    <!--  to temporarily accept the certificate of svn.apache.org.               -->
+    <exec dir="${basedir}"
+          executable="svn"
+          inputstring="t${line.separator}"
+          failonerror="true">
+      <arg value="checkout" />
+      <arg value="${svnroot}/${current.loc}" />
+      <arg value="${basedir}" />
     </exec>
 
   </target>

Modified: branches/tomcat5.5/upstream/current/connectors/KEYS
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/KEYS	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/KEYS	2007-05-21 10:51:24 UTC (rev 3531)
@@ -48,36 +48,6 @@
 -----END PGP PUBLIC KEY BLOCK-----
 
 Type Bits/KeyID    Date       User ID
-pub  1024D/86867BA6 2001-11-22 Jean-Frederic Clere (jfclere) <JFrederic.Clere at fjitsu-siemens.com>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.0.5 (GNU/Linux)
-Comment: For info see http://www.gnupg.org
-
-mQGiBDv9Gx8RBADclmKwDLcibNVipQnhYW+bFIpuQjQnRrqRwn3gXM+/luzzJYJ4
-bbWpw13zjX0EkrAJ8qH2A/d0EIU1eZ0zHrLgRvMUfLGFUX7FFFw18JKFLTVGhG4/
-8sSl3ydHSA2Kd1PF6xjBP7iM7sg5dJfEkyMzvK5H4F0ZpTqy3087wsg1wwCgitRy
-Zg4x3lWZSkOwBj472qaO9GkD/2q6kyWfAK6XFe3GuB5AAs3poMfN1eqW+duM4TA8
-zUiWK0Wxx4JXJbL7n0i4d+JdXJsrjSjF++KKfelcxsrSxoUIBegez25MUSvHe09D
-R3nqkY8CVO+viEtzRBqkSgCMbUjAtfkQ+vp2jDnWSmmkNfY0OYAzt+KRyJKcjUSJ
-gvOOA/45+DN9wuTELoFTvsXh1JgOL/QvW1fmQ2HrcQk94BkzIsfVGWClCiig5gNw
-LCxTbfgA5htpI8U7vPR9/5gH7U8Wy3HR6xQUZxcbttMeYit2VbDEJzF5r5S0pJvD
-vyk3n1kiKU7r49sjhxGgE8J/VvDpO6YcIsDs8LoULwuJTg0DTrRDSmVhbi1GcmVk
-ZXJpYyBDbGVyZSAoamZjbGVyZSkgPEpGcmVkZXJpYy5DbGVyZUBmdWppdHN1LXNp
-ZW1lbnMuY29tPohXBBMRAgAXBQI7/RsfBQsHCgMEAxUDAgMWAgECF4AACgkQ0+/m
-toaGe6amGQCeJU5VZ8QCi8+PY0QJHPA63e5uPyoAmgOWIwFm8A/xmW8qjEvVAWtb
-TjZxuQENBDv9GyMQBACCbFlSF+udW/Qz2oknDen8Hoql4Q1Q7CUQTbPjoQAcYgZg
-LrsR6hc9aCIf3Kt4qZBgQ1Oe9M/AemOFhU04UNp3dgHk91EYRvx80Rua992p/8V7
-QOhwIBVb2XE8as5nL2j8w6Jz7eSs/bivxm9yD0AH/I5H01RAJivRbOTsUgSkDwAD
-BQP5ARlW2Nqc0U17asQsmMYvT1UMiOiyBwUD/DIEG2Xy1hlEvdljg8WU26jcjpGq
-MrT69T4Z+eZ2oVyiRQTW4qMUBKc0Nbz89hL0qv9K41ExxxH+JgE1csRVvmwAT8Iy
-lnhof7TJLRBtvan3+p21Kxl1uQ7MbmLT875u+vc+J098fIiIRgQYEQIABgUCO/0b
-IwAKCRDT7+a2hoZ7pn9UAJ9f0TK0QQOtjQBvxAissopYhDKHGACePZg0k9sj69yw
-nVWrBS9fvFC9jcA=
-=BTiM
------END PGP PUBLIC KEY BLOCK-----
-
-Type Bits/KeyID    Date       User ID
 pub  1024D/E86E29AC 2002-02-13 kevin seguin <seguin at apache.org>
 
 -----BEGIN PGP PUBLIC KEY BLOCK-----
@@ -292,38 +262,6 @@
 =FGUc
 -----END PGP PUBLIC KEY BLOCK-----
 
-Type Bits/KeyID     Date       User ID
-pub  1024D/36E67A94 2004-02-15 Jean-frederic Clere <jfclere at sinix.net>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.2.4 (GNU/Linux)
-
-mQGiBEAvwq4RBACwe89USUq3kvB62DjSiMf4vqMFwkqXTwpAE4OY9Bnd2/X+IdW7
-sZP+7rEFWQrmuDufwunGgqFuFII0QZNePSQvp9sC7fynkJBXhq9h+8vhbjybrgQg
-1Ol5vyoCK9YJQ4rC4w+3dTSO3k8QHX7Pq5bLrFmAIA3mwH/2Umhr7PD6GwCgqXWD
-ODUYmJetCqRbyeu/etM6eeUD/0rEPOOBb5xC2Z23K8p8cIXyySMxZMtnCwnzSu55
-V69cwsUAe0lgKFY1m3dd28YRLZgJXndq+XItO3D6/ewlwoNJSJ4RRIy6hCJuLqAS
-jHuKtqr1bEAtD22FNQNx+l48TsuLaLq5qK09QPztNkUhie99tZ8uaLaQRYxkGgm7
-UjR5BACM1+0ViwywliydIjTkyis3L468Xi1ps/9VjnouwM/TvcwXVxiGFgN1NFD5
-8xOZsTWYt+RfkanJksUF20IYCkOt3OeHPEZVWLpk2AZgygKBBS9boWEpdqAOM1QD
-AUpuswhbABRnUyKDf1TpLkCOSmmItp4YvVMianTwQ9u/nuYpyrQnSmVhbi1mcmVk
-ZXJpYyBDbGVyZSA8amZjbGVyZUBzaW5peC5uZXQ+iFsEExECABsFAkAvwq4GCwkI
-BwMCAxUCAwMWAgECHgECF4AACgkQ+MMM5jbmepRqxQCfdaqkM9TpTmbigRGkvYVa
-vh3/8jQAoKZro8AOMFnoDFtdJxfkhIPwFptbiJwEEwECAAYFAkAxzQYACgkQN+P0
-X+5l4yGmKwP/c0+aSjy62sJRK+Y6W3P3HP1HGePLibTVHLX3I5Dt/lYBVjHVgADF
-2C8cz5oIIENZfyCMaerUY/yllC7vw0X6g28XPfLaMil58kBvxZTkKreqF7qm3NvA
-HsJU5UJ0EchnRo2YnUVq2oqWbdYpWuMXngYTcDXW9PAAud0Pz0BXRqa5AQ0EQC/C
-sxAEAIvO8n3BsjA3WVsM1ztuLXzZp/J1pEozTlz3BgB2Pr1ixf8IbnzlmFl2yvGF
-dJdkpZfmdMjC7TxOrG6+5MWESnrDcEZBQjS92nTvcG3auKQSsS4RVojLzZMwfznB
-2u+pgLVEs3sXu6YGyz33dib6B7GouxZbn6jcYSltRObFwS1bAAMFA/0c1G8MhNIt
-PUzuXxQNmLY2hZuRkImnEIvMkGqcYVu2ozmTMuuqqlsT6tccQOFiVjCYJ73LWTSr
-9hch/D3eRoZK/rTO+HdR25SM1CcgoYdvCpuAXenxvzVt9MT4mULYyP/GukAjVACW
-3G2gr883fKM9fqILDfLnOzUMKHYorkWJPIhGBBgRAgAGBQJAL8KzAAoJEPjDDOY2
-5nqUAjkAnj5RPx86y2gLNSJamLL8yM2hMWUqAJ4gs+wXl8LSYzHzca71SLZzqNKw
-oA==
-=Vfcm
------END PGP PUBLIC KEY BLOCK-----
-
 pub  1024D/08C975E5 1999-04-14 Jim Jagielski <jim at apache.org>
 uid                            Jim Jagielski <jim at jaguNET.com>
 uid                            Jim Jagielski <jim at jimjag.com>
@@ -460,3 +398,330 @@
 POKL9N3T3MkdexuGv1Fc41aWQRcAn3GUI1TJ4wJDGCPAJMb16IrnxUdt
 =C30m
 -----END PGP PUBLIC KEY BLOCK-----
+
+Type bits /keyID    Date       User ID
+pub  1024D/E55B0D0E 2007/01/01 "Guenter Knauf" ("CODE SIGNING KEY") <fuankg at apache.org>
+     Key fingerprint = 3E6A C004 854F 3A7F 0356  6B59 2FF0 6894 E55B 0D0E
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.6 (MingW32)
+
+mQGiBEWZmwYRBAD0q6ODLHHR2D/8L7yANKOviQZwhRDOxfxIL3PoZ/xN/bMPeo8t
+wcv6Wh/VnIdz153kl2EkdYhCNbc+d0g/WMfFNe7ch8hqeYJKKQBj2fViS30ZLfju
+EwVesWzr7kUah2ETHC2Lo+vd0+x2yLsTriWUhK/ZU+85MTZRs5HX4e03NwCg5SpM
+iJp1pLwJGEt1zsAfIqUVfXcD/3uOlJamsYXmNGtEsndP3V67gsQxrleWWrLQzkt5
+WP/Myq5uY3XtIa0j6NE9TZtXwFQzVoeLQhpUg8bMuPRg3VzB5oq3ClkS09w38xyF
+eEZlNjeJg9TfvDk4bYpLKHtJeFn3pFR13Ojz+r7AHo/wbcO/Jho6XXLJPCjeMBFg
+MVagA/oDalIMI9cUVmM5In2WexaGuYqOaLD/2CEpNpL2zppv/5ES75oU1I6bNVw8
+jVI5pHIVn7wTH4ja3GfK238uncqot4SM6DxdW1F4Gj4cKG1YXyPbD+kqqX4IrzFW
+VL92VtA7LJdt2t/z+OFg2StDKiKtpGdSGcWEimDu7RapK251d7Q4Ikd1ZW50ZXIg
+S25hdWYiICgiQ09ERSBTSUdOSU5HIEtFWSIpIDxmdWFua2dAYXBhY2hlLm9yZz6I
+ZgQTEQIAJgUCRZmbBgIbAwUJCWYBgAYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJ
+EC/waJTlWw0OzdYAnR7vfP8ygtxJ0d7zMxM+LphquxSJAKCCcOTJ4VO0NnidBb/n
+FHN99o9pdbkEDQRFmZtOEBAAwlQPuku80T82g6aS1HpnsXyzxG+k1k0Nj66ZvRM0
+f8gQKmGanVTsbmjXRD1Q0N/WR3F5ynrk+dvgdN0/IqBxR+Ek6L0hYFqa0Mp8Rqw7
+0M7oUI5iwMa/873koCnBhFet6Eu91mVPOSE9mdVIw/vlq8KT8VuxcqpvUKYgjC9h
+HK3GQniaR4JKkCQjk4ZynQiDckKcfaR765GYvw3Fq+v92Ebrdu5qYh4Tq2ncEY6q
+fCcxTu6THXNPVgX+A+5ASlcLAxMAD1W25//abwPdvBIZ/76nXXGnZI4NQDQQf1W3
+btrcHxQUXrvHM1DTV70wlifIA3xjuWTIRr31gXv5QVrVQdn58AhWoHB2eSGX/jhH
+zQfghS/FkBIt//THDNDYhNtqHLz6SihMHNDIUcBNNZDF1tO2slsrAtKkooX1J91l
+BtWRWwkU3VK1HttMhAB5xUswbn3XExKK/J7IiI2M+Qz/QIKVIWcPyYmPBUkwtNtV
+RiGPcq2OMF2BEKRVyCZa1rQuPNRLv2iuFD7iaRfMMakWGIY2uIeLAy3KNS6VbH0q
+a7LUfeUv0Be2yyEAr5luMwomWzAHpW4xhCLG0kjMiNCceTJwASG6eTg/JpWxcXca
+8M0ZvcbVBZ7nzvwDRBCtH0W+9w+gNwgtToE4UnglrO4TsXtWwOyLfv+GaVQIngqH
+4lsAAwUQAL/VaXfDuLOe1j3jn1sKjDIfIHzTS0THdxpP3B0WahZ7xHAtuFdd8jXi
+CmIGi9hKO99Mn5xsW3/cEPVfTjkXbfsgUc5xHsC8zJ9BCHctkgPvaHUJ7lAyZbW+
+y+CrW+dpCN49Y8H50NhwjiHiwT7GynNKnOxMFg/aZKLBVFFOzjqtDQ8qjiPdgAld
+O/tV7/WV4HTZvGUqQloEqqMjWTJO+fw9Mau/ejvBBuz/P78XkCku8cST6hjg89FX
+gyB0J7TL3ykvJltIS1gBNK6BF3N2es4qIaT/MUUbB5wdpltYt1HZHBUtvF8ywySu
+Tu3ymyYfLQdRt+e32tMWgbWL00d2YJDeEOFeylBbOErzHI+tqxAQlwigKzHyUQkN
+Kel2MRmdsaiHMlc8Btj6YsFTf+sXnLo/zkq3BLVJd9qRS+udbbT02TIVhKybbJbx
+tgg5ajhDzOuRHb+RhpqjAaM6HGM2Vv1y3OLSzAN981LyEKgqIG2cwmNmubQLgwi1
+UDhcrTLlaXpFB+SHpvZPsnBQ329YKurlIV/rL38ZajIIMYPmk6bZIqTW0cwy7aHL
+XgBEgIpUjHDBOnq80rcyc4dauctgU1muYFh6y47yqtxmTkHu5nwTbZEn6/l1/Ffo
+GCRMkLtwRdDm/4BfuuPExBNkplzglJ/cMAvvr0/mwv+tqvQTT0CMiE8EGBECAA8F
+AkWZm04CGwwFCQlmAYAACgkQL/BolOVbDQ4R3ACdHuJ0qhGNF2HmkKxkEvyQ8XYB
+KGYAoI/VBpQ3XajbV/CPs3YP4qBMddA/
+=LiRc
+-----END PGP PUBLIC KEY BLOCK-----
+
+
+pub   1024D/6210BFC0 2007-03-01
+      Key fingerprint = 3A6F 081D DFD3 DE93 02C3  1329 0F45 0A26 6210 BFC0
+uid                  Jean-Frederic Clere <jfclere at apache.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.6 (FreeBSD)
+
+mQGiBEAzyJIRBADK4dV4yXWrn/Y8QkbrRVIK8Tzct2UY/OXxYfIv/Tfqxi9h448d
+lkDxjFWjnyOc1m1M6pU500o/KIeray6MOQM/zVBPo7iyv+FC7Rk5kczpcbu7EbS6
+nzOJaSVS8ExighNo5IACGcGP+Xs3p8CkHaHhxgKz4c1UX/u+hdabON4wZwCgrw6K
+u7BuceEkEtNmT5FQC6SGFG8D/ixq6PVUg5vSFM592vdgFyqO9QRvffDe7dHTCA57
+PnSFbRSlpM08DsxmiMyUiZkwtVLvBJggOG2JJlq459xCUVFAw0OcPl+H5+DVU4HE
+S0BWUL+i79SO+uuxl4EZ22q7uFyFII7AKDi+p5Ft88Y1CCNAtQdyGdxjcK27cC2Y
+TZEZA/4yfGD0iPwYJo9je1XKmFV+tgjHKq/CNt4iEDU7hwmG642h1LBLDCXp4+F0
+cbNg4q8txjVW0ndpwv6/y+0yFTENdeBMhMEVgpsK70/1TNf8kf0dsv9129LNQ2Cs
+6BfybRnQSKO9d6T9Lo4Zg2t6h3KOkT5dqj3MHaBUdVrDSHRXTIhSBCARAgASBQJF
+ZC30Cx0CUEMgc3RvbGVuAAoJEPs32kAzLmPNblsAn2bWzVQiIMJkFXSr7hGThBkW
+9CnoAKCY8TW1FFaaD9BEcuxrZjCAnp1z6bQoSmVhbi1GcmVkZXJpYyBDbGVyZSA8
+amZjbGVyZUBhcGFjaGUub3JnPoheBBMRAgAeBQJAM8iSAhsDBgsJCAcDAgMVAgMD
+FgIBAh4BAheAAAoJEPs32kAzLmPNFQwAniz4ReBMjflXPuj/FMKSSsyeJjQuAJ0T
+wWVBk9PTB7cvWZyT0AurUFPs5IicBBABAgAGBQJDYgMzAAoJEDfj9F/uZeMhn/8D
+/2xuhUHiI7tlHQp2tQ8X5/JxmErDc6Kb7zQiCLAft+lGrJV5nLah05HOOtxYLP2o
+kv8c1Zzbsa/C3k9v7BGg8+5vDfN89Bj2iCLb19G01O3pGqE0B1G1L2arLsysoW4b
+1YrZIwqsEUkz3rR3ZNtI6M/z7WJboao6uWdpMjeWqMQdiEYEEBECAAYFAkSi3bsA
+CgkQ9cJgFkzu11/4hgCfbvtk4qfyvo+jzaoj5u73suaQ8rEAn1L4lQECQe9blVWJ
+LrFohPHBjUcJiEYEEBECAAYFAkSjAv0ACgkQlFBD9TXBAPCvVwCfYtR8GRKbudzU
+YZRGBaYj6wXfc1sAoMsTuSm2cx5OBOiW6A0WHuXtr3ZUiEYEEBECAAYFAkSjnLIA
+CgkQLSGrZWVGG3loNACfbdRmrrD3dJXZc6peaJvBNtITDVMAnAmCu9p+p/+a1Yps
+TiuCuyRso9m5iEYEEBECAAYFAkSj9PEACgkQN/aP9QFa/IpmigCg0Ww8CYMRVBv7
+ncOTlvXOkE1yyrkAoMGb4A14TFxoQTx9rmDFh2+rWojRiEYEEBECAAYFAkSnztsA
+CgkQ1TNOdbExPeIsugCgyuyNjR1fCib9WBETW5EfZFk17AUAn3cMSj/jnfXft3qB
+4eap4X/JiyBiiEYEEBECAAYFAkSpMGoACgkQMsnkzjZCy0vymgCff2fuOEmRJGLs
+D5mxgS6oax66BzQAnje+9oq6le3fKMX3VvyjrQdrP45+iEYEEBECAAYFAkSqsTsA
+CgkQNYuqM1D5YRZwXQCdFHcDmoi2lK5guXZicaBLY4zRhL4An2H+k5bal1hA6xZm
+pvWUuZyphNTtiEYEEBECAAYFAkUPgtsACgkQsr68QBUpJK8yYwCgz/MUW/injaht
+jWRl/xthjPwQ9jYAn1dLFLRJaAhU+d/EpmmAzdtz9GgQiEYEERECAAYFAkSjHO4A
+CgkQVg0IYe59x062kwCcCGwnfHR9vrTpTEMMsxivaLYZoboAnAr60mqfvtNM1UNv
+hEedDHmZRRVCiEYEERECAAYFAkSjHP0ACgkQynKdYmA9T1ShsgCgnrNGFIFuQEl5
+NAHsLiL7SHsPZgAAniE/Ff9pFF8A/90zxIwbrDslBJoGiJwEEwECAAYFAkSjqhsA
+CgkQms08wKmfdd0bTAQAyImsO6JYo//1zsoat+alQUjHEYLUWAggRQJAfmWbuW/T
+Vo+H/mOhKA7iDJ5uj9ExIAv5CwLQ5Tg909DQ8MMov94RMw1Sn/NjermzoDqP7nmW
+nVpVg1+BgQz5Ji3oIH6sTtIUozGTpB+fSmkXm7fDUKiB/1bEHNyf4PqjvJbrhtmI
+RgQTEQIABgUCRKOqIgAKCRDdumS6LDEtL+x5AKD8h7qqWvYNxS7TzTETbF92WNBo
+FACg5q7jqPYRXr/V1JasNAl7PZqpymCIRgQTEQIABgUCRKOqMAAKCRBQjq7FMC2l
+aKu6AJ4ujKZ3Fd9aW2btic+uYnyRGg7xAACcD4fv3S8u1eqJz0PGKH/dLpaPDHKI
+RgQTEQIABgUCRKYATwAKCRBMBCgYMRo95QM0AKCJNquhe46m8reJUUMBepYeCsmC
+mACfbGSSJFbU2flAdfpLnyvmr6phPB+4iwRAM8jyAQQAuHeAOvCiADEmN+dVkPXm
+P94SEvbOSQzn/34X9LTIlXRiIOXk9+ZoZnpaV2uIT+ItJki/fCCp+CdNuVpZ1YMS
+Y24mR8aPYoSgoI884tz/8fMgz02Lr5FPpMRW8R8rLte53p5DHL7Hv4D1Z1kE2yaN
+iBiH9sUZ7Ex3EQv3eekreEkABimISQQYEQIACQUCQDPI8gIbDAAKCRD7N9pAMy5j
+zUeRAJ44QklQSHL39ni2k3+YUyg/+TlthwCgqd/hn4yAhG8/AAlwjppHhRrcZq2Z
+AaIEQC/CrhEEALB7z1RJSreS8HrYONKIx/i+owXCSpdPCkATg5j0Gd3b9f4h1bux
+k/7usQVZCua4O5/C6caCoW4UgjRBk149JC+n2wLt/KeQkFeGr2H7y+FuPJuuBCDU
+6Xm/KgIr1glDisLjD7d1NI7eTxAdfs+rlsusWYAgDebAf/ZSaGvs8PobAKCpdYM4
+NRiYl60KpFvJ67960zp55QP/SsQ844FvnELZnbcrynxwhfLJIzFky2cLCfNK7nlX
+r1zCxQB7SWAoVjWbd13bxhEtmAled2r5ci07cPr97CXCg0lInhFEjLqEIm4uoBKM
+e4q2qvVsQC0PbYU1A3H6XjxOy4tourmorT1A/O02RSGJ7321ny5otpBFjGQaCbtS
+NHkEAIzX7RWLDLCWLJ0iNOTKKzcvjrxeLWmz/1WOei7Az9O9zBdXGIYWA3U0UPnz
+E5mxNZi35F+RqcmSxQXbQhgKQ63c54c8RlVYumTYBmDKAoEFL1uhYSl2oA4zVAMB
+Sm6zCFsAFGdTIoN/VOkuQI5KaYi2nhi9UyJqdPBD27+e5inKtCdKZWFuLWZyZWRl
+cmljIENsZXJlIDxqZmNsZXJlQHNpbml4Lm5ldD6IWwQTEQIAGwUCQC/CrgYLCQgH
+AwIDFQIDAxYCAQIeAQIXgAAKCRD4wwzmNuZ6lGrFAJ91qqQz1OlOZuKBEaS9hVq+
+Hf/yNACgpmujwA4wWegMW10nF+SEg/AWm1uInAQTAQIABgUCQDHNBgAKCRA34/Rf
+7mXjIaYrA/9zT5pKPLrawlEr5jpbc/cc/UcZ48uJtNUctfcjkO3+VgFWMdWAAMXY
+LxzPmgggQ1l/IIxp6tRj/KWULu/DRfqDbxc98toyKXnyQG/FlOQqt6oXuqbc28Ae
+wlTlQnQRyGdGjZidRWraipZt1ila4xeeBhNwNdb08AC53Q/PQFdGprkBDQRAL8Kz
+EAQAi87yfcGyMDdZWwzXO24tfNmn8nWkSjNOXPcGAHY+vWLF/whufOWYWXbK8YV0
+l2Sll+Z0yMLtPE6sbr7kxYRKesNwRkFCNL3adO9wbdq4pBKxLhFWiMvNkzB/OcHa
+76mAtUSzexe7pgbLPfd2JvoHsai7FlufqNxhKW1E5sXBLVsAAwUD/RzUbwyE0i09
+TO5fFA2YtjaFm5GQiacQi8yQapxhW7ajOZMy66qqWxPq1xxA4WJWMJgnvctZNKv2
+FyH8Pd5Ghkr+tM74d1HblIzUJyChh28Km4Bd6fG/NW30xPiZQtjI/8a6QCNUAJbc
+baCvzzd8oz1+ogsN8uc7NQwodiiuRYk8iEYEGBECAAYFAkAvwrMACgkQ+MMM5jbm
+epQCOQCePlE/HzrLaAs1IlqYsvzIzaExZSoAniCz7BeXwtJjMfNxrvVItnOo0rCg
+mQGiBDv9Gx8RBADclmKwDLcibNVipQnhYW+bFIpuQjQnRrqRwn3gXM+/luzzJYJ4
+bbWpw13zjX0EkrAJ8qH2A/d0EIU1eZ0zHrLgRvMUfLGFUX7FFFw18JKFLTVGhG4/
+8sSl3ydHSA2Kd1PF6xjBP7iM7sg5dJfEkyMzvK5H4F0ZpTqy3087wsg1wwCgitRy
+Zg4x3lWZSkOwBj472qaO9GkD/2q6kyWfAK6XFe3GuB5AAs3poMfN1eqW+duM4TA8
+zUiWK0Wxx4JXJbL7n0i4d+JdXJsrjSjF++KKfelcxsrSxoUIBegez25MUSvHe09D
+R3nqkY8CVO+viEtzRBqkSgCMbUjAtfkQ+vp2jDnWSmmkNfY0OYAzt+KRyJKcjUSJ
+gvOOA/45+DN9wuTELoFTvsXh1JgOL/QvW1fmQ2HrcQk94BkzIsfVGWClCiig5gNw
+LCxTbfgA5htpI8U7vPR9/5gH7U8Wy3HR6xQUZxcbttMeYit2VbDEJzF5r5S0pJvD
+vyk3n1kiKU7r49sjhxGgE8J/VvDpO6YcIsDs8LoULwuJTg0DTrRDSmVhbi1GcmVk
+ZXJpYyBDbGVyZSAoamZjbGVyZSkgPEpGcmVkZXJpYy5DbGVyZUBmdWppdHN1LXNp
+ZW1lbnMuY29tPohGBBARAgAGBQJAEVHcAAoJEFd7hHVGA0DQsUsAoK2SuAnTybek
+AJkFmei/kbv59fA+AJ4/smxUz6EGuNmWOYwnHTxPz09c4IhXBBMRAgAXBQI7/Rsf
+BQsHCgMEAxUDAgMWAgECF4AACgkQ0+/mtoaGe6amGQCeJU5VZ8QCi8+PY0QJHPA6
+3e5uPyoAmgOWIwFm8A/xmW8qjEvVAWtbTjZxiJwEEwECAAYFAj/F+7gACgkQN+P0
+X+5l4yHDEwQAwp2yr9mwHIti5D2tvgNDQjOw9K/qbGbQ1IH3f/BLF0J5EHxYxUSt
+E0glh8GPJOi1U+0Jv999W/8xnOs5Tf16d0DmhscXvylxWYGis1PcoqA2zemaWuVM
+nBoJaA89gPiwconEEvdxym7vBGK1Lodz+ote2doiuCsWSjcfl74LFxeInAQTAQIA
+BgUCP8dbpwAKCRArAsNF4kSQGcqYA/9ZkL7Uwy1xZ8EPAQT6eXVCmS743C3Mc2kr
+Cv8CEnsVNQrsQMYzkU2OjsJ09semmIHnvpx14i8cGlLRoKpfNn7V+O6wmMEHr2zn
+HlMtDsgvk8FK12cDGGxUlHr9sz6wOTQyZG3bNLA9iQPUlHAjTTZlISx55i3/opKQ
+yI5LzOMaSrkBDQQ7/RsjEAQAgmxZUhfrnVv0M9qJJw3p/B6KpeENUOwlEE2z46EA
+HGIGYC67EeoXPWgiH9yreKmQYENTnvTPwHpjhYVNOFDad3YB5PdRGEb8fNEbmvfd
+qf/Fe0DocCAVW9lxPGrOZy9o/MOic+3krP24r8Zvcg9AB/yOR9NUQCYr0Wzk7FIE
+pA8AAwUD+QEZVtjanNFNe2rELJjGL09VDIjosgcFA/wyBBtl8tYZRL3ZY4PFlNuo
+3I6RqjK0+vU+GfnmdqFcokUE1uKjFASnNDW8/PYS9Kr/SuNRMccR/iYBNXLEVb5s
+AE/CMpZ4aH+0yS0Qbb2p9/qdtSsZdbkOzG5i0/O+bvr3PidPfHyIiEYEGBECAAYF
+Ajv9GyMACgkQ0+/mtoaGe6Z/VACfX9EytEEDrY0Ab8QIrLKKWIQyhxgAnj2YNJPb
+I+vcsJ1VqwUvX7xQvY3AmI0DNi9rBwAAAQQA7+Us5BVixRL6XvJqf5HOvR6F9ZGq
+WB42xXgNDTFO5B7AP0rmWbu6NHC63GU1p/l1eMTbiaWyJE3woOn58rCbta2q/j3T
+GaHNL/rLx6TAHTY/h+L8kk1fU9stLRwvr5vPZ0WosOGHTc6/PcbXpj2F7masnY80
+5Zr0N+P0X+5l4yEABRG0Ik1hcnRpbiBLcmFlbWVyIDxtYXJ0aW5AYXBhY2hlLm9y
+Zz6IPwMFEEBfU3vMsutG52z20BECVYEAn1YYChSD4JjSugTnQ/XFI83ysPLuAKCd
+Mp5S8p30T85NjNSPAFSHfdZ++Yg/AwUQQeug+NvSRfyzsqEsEQKVgwCfV6HiL9+x
+jOX8rMla6npW+/ApQ5YAoO7Q2RvwUDfFNRuVwKCtKKFwi+F9iEYEEBECAAYFAjhv
+6QUACgkQF1lVzkO+5qgJ7wCglwijjcMKmq7F50Yc1+rpktcbYqgAnivId+oJ9iwi
+/18y6Y6t5zxk53i8iEYEEBECAAYFAj6kVw0ACgkQMYbNBE8J8FWYcwCg7jxg3ZlA
+FW0ZoqdhBmmp6RrOwe8AoK6auKAwEGGFSJmrlcsuiFX0ZTZsiEYEEBECAAYFAj+/
+rZMACgkQsr68QBUpJK+o7gCg8FyvVvioZtTgAnqR4sAY6obNINIAn1WQh/Dd3PQV
+lDc73VpdUmP+b+4riEYEEBECAAYFAj+/rcEACgkQwR57R5ZPMdmfmgCffg8AxHb7
+noRXibKHJe+XWp5R1/cAn0pmS1swwp1xEjxvjbdMypTgfFUHiEYEEBECAAYFAj/B
+I+cACgkQGgnRg/0JPEHAGgCgtCXyxA9p00dDGUQ4T1UO9Mcp3Q4AoKUm5+cqtH5C
+pZ3IuPehZ1o83GUfiEYEEBECAAYFAj/CGFkACgkQidhMr0ayYsaonwCfRsVVtkKx
+oXq22dET6Sbk59w7ic8An06p4Z6ubNIRFVWo5jK4gFWJ1ixViEYEEBECAAYFAj/G
+INMACgkQbQvHOkBYGDe2nwCfUvTp8jFFGazZUWn6MmYRwHPzEZoAoIp9/q9tWarF
+tVAZwCF3eRAYw5ONiEYEEBECAAYFAj/Lw64ACgkQpFkk8La0Xx+FLQCfeSZQxjQd
+THY1g7ZfdeBIjg8gnY4AoLYUr2I1lWJA3kUVsM2I2pmXB7utiEYEEBECAAYFAj/d
+6dAACgkQ0+/mtoaGe6brHwCfVonKGuut8boMEOU8sGtJoaRB15QAn1ldSO7wASUf
+7wqa3EUrFTBNjpbOiEYEEBECAAYFAkLe0lYACgkQymk5dIEDo37XXwCgph3WPWCS
+z144ktywff3BD7cyGwAAmwfwU8UZAX2rSNMuYemIa3w63WqaiEYEEBECAAYFAkLf
+QPIACgkQQeoJoFeTSY9dQwCeMU1qXnSEG8cTvsu14sRcBLtaV4QAoPHKDZS8kEVy
+UEcjDhXTUNiNK6MhiEYEEBECAAYFAkLfkkoACgkQAQVmvOQTY5JEJwCfT/UGfYmS
+mZ9e7m8P+4x2NToxdhYAn18ZNQG2Q83N8RYKbVgUNC0iv6sxiEYEEBECAAYFAkLg
+1y0ACgkQjON2uBzUhh9CmQCeO9D3OzllrMRWdYjl/TBHwlMvc/4Amwbq5Z5wlbVG
+U/R2Yp2NsbybPJPAiEYEEBECAAYFAkLjhSwACgkQyXxQllwcOtdOTwCcDf92siPF
+rItlE75OdkXyWRGgJoQAnjyFMrxVpErxhpOTjIWhQI493eQdiEYEEBECAAYFAkLj
+pRwACgkQBJE0Quobo41cGACfcTmPvrPayI6fKmUIwDcbKQXsRA0AoJO0k+tkF9Jp
+9f7LCpbvEiYZ+A9viEYEEBECAAYFAkLkhAcACgkQYRlqLjM+ToRF1gCffqxtQ3Nr
+JrvsprdSJuUkH0p643gAnRgB2T2Lc9YIJzEIxC5dZvmK4Hd/iEYEEhECAAYFAj3i
+UNoACgkQiNfNvfQ8L5L+qwCfdgPwwfKJxDGH7S+8llIfUtQAsRMAoI4J55ch47lh
+ayilgtr/MzqoS8k/iEYEEhECAAYFAj+53/cACgkQuSRSrEyRZbaJrwCeOVTRdXKe
+HI8NZGbEKIpBSD2942IAn2jD5cP1e6iZQBp/KcxFSs1BPGzLiEYEEhECAAYFAj+/
+/KQACgkQ7Jk9Y2X9ze77JgCfYMYZSvfrfmiT6sEakpM1BKFF5yQAn0xk37icMlRt
+d0z6YX7IwQjG0qQSiEYEEhECAAYFAj/BU9sACgkQzCEwIKHWl1lVMQCfdTs5GZS6
+l2UceNEexsOQMVKtHwAAn2VKxs3WTKBYeFS5l7PVMIzyJKkPiEYEEhECAAYFAkAw
+HfoACgkQLovQgMxpzu1kbwCfUmYmb5clHPHSMHF98plowgP0k0cAoKATY8YJlyG9
+oWflYryeAXJtwBMziEYEExECAAYFAj2kRFUACgkQi9gubzC5S1zRIACeImAkzwdt
+/xZZu6ja6FJehlV9vAkAn0a6K3WHkj/iu0EsZOCC/DwBG0iTiEYEExECAAYFAj+5
+pRMACgkQEPpMiKVNot+xugCeJ98eHsR5SWidG9GqZaOyIXs6ocwAoJmcs5cqZ4s9
+QoFhSmsjMzXWL+bhiEYEExECAAYFAj+5q9YACgkQqB7mSc4Z1cY0nQCfV+AqxCMF
+n0giccSDF9e4EUGZZi4AoLAvh6iQuWrB+gohKn2dv5DRxVpYiEYEExECAAYFAj+5
+wvYACgkQyzKhB4jDpaX2cQCfSx4yFkoJvJEmA6faBkggxB8cRLkAn0t1PJ2ujChD
+obTDZyQTGbHaH6RRiEYEExECAAYFAj+6g54ACgkQlxayKTuqOuDBXgCdE6UopS7i
+xaU0PlutyqcEE6HLlaMAn3tjDl+8GTNjFa3i/yI9VGssa2L+iEYEExECAAYFAj+6
+mGsACgkQXP03+sx4yJNz/QCgg3v/aY1/FiWX7stgNWVYb/NYQ3MAn07lLMFj+/uc
+cnq24P5URPB4iKsGiEYEExECAAYFAj+90X4ACgkQvrorh/X8S0IVwgCguyjhA/9g
+kXcy9BvRQPQqCLEzkhYAn3WA9UD4caq7Nxu8FGy5ZJtdb/rEiEYEExECAAYFAj/C
+rzIACgkQCVpF3KEdVvvxXACfdPcOV8uwAt/WnYWZvwzgCNKbiqsAoMj/vW1wisf1
+I5edoRRh2f92uFFyiEYEExECAAYFAj/Hb+QACgkQ+jyNJhQrUJtvoACdE49VSa6t
+Ogzfq8ZDpQFTMW1vTT4AnAgQZ7pbJOt/H3jvGjqAHwYvkDR+iEYEExECAAYFAj/H
+2GYACgkQpHQPOdFHt3bpMACdF09EksOB99yIjz0gPPEj85I4UnEAoIbdIOl0XczZ
+WlElR1vTzwyw6TQFiEYEExECAAYFAj/K6BQACgkQaFp3yu5WVQ4+UQCgjy2PP532
+3EF0l22OvnC/HX1N1mQAoKSV9xEv9Ph4iQLfCtpclV7QHvDZiEYEExECAAYFAj/N
+3wsACgkQEy5J1OQe3H7SjgCgn/PJkIb0XOhftNId65Mig6KybRgAnR28oSAqRyYd
+RcAHH3OcMKhnKj71iEYEExECAAYFAkAV2tcACgkQFT+gzXWmdpJ1oQCeM0Bsk/kZ
+EcV394DeA2I2/CEzd6AAn1LzhlMUM2rVrus3hmw3xFfWYGcyiEYEExECAAYFAkGO
+7MsACgkQW5aAEOBPmomRuACgiQqAy1QMOzB5ypaL3ZSho9gbYJsAn1lWiE4iqj4B
+3v7UhF0OLpv8eiatiEYEExECAAYFAkLepXcACgkQi5YpQ/wkPzyduACfaH4wAwRL
+BwNiTeiP1SJIh94rOFoAnRn1WB1RjWh7kpvnsvx0hptnPme5iEYEExECAAYFAkLe
+r8cACgkQ/W+IxiHQpxuFBQCgxaQotDXe40gwkP9AWdnI/I5IU/IAoLmLc38Xq8B0
+0G/2gkjrs/Di0YqoiEYEExECAAYFAkLe0o8ACgkQ7tHqOSJh0HMsFACcC1SE534S
+u0ruTnYqkwag32izcJAAnjXp+3kt3z7HmW3SjC13ih9lD5qWiEYEExECAAYFAkLf
+bSoACgkQUI6uxTAtpWg1qwCdEkVZazODnO3EYPp3pb9SJIX2QBwAoJrRAhQSsHA6
+SZMbzrO1qXZcrzRQiEYEExECAAYFAkLfbSsACgkQ3bpkuiwxLS+2fgCfaovgnDdT
+9mAYvlUPuMG/OU4PBfQAn2+gnx5lPYoGbzqHZ+tB+tOEB9O0iEYEExECAAYFAkLg
+7JIACgkQybWm7OLXdN9WjgCffqBC9I2jg2Y7RzR6OsHneFbHDzQAoJwke8F2zfWd
+MJ871QuwAr1AIWitiEYEExECAAYFAkLiYa4ACgkQbZiNF4cxXDG1WwCeJ7ruGatR
+Fa1H49akQP1jQ05tMSUAoMd/v+N4r5G9GJLrvY3KrNWas1i2iEYEExECAAYFAkLj
+ZH8ACgkQdcqio/ObN1BMMACeM9dBoVGR2ayYXauJnMxHAsoiHGwAmgIlJ3CzGZ9j
+4/8FUetJlzd3hTaBiEYEExECAAYFAkLj6zgACgkQ8gLLgpYclGAUEQCguHgPduC0
+Hl+xQaC1RzJbbzi4SPwAniuFfYBUHxQyXNn1eRIPiebvnyIaiEYEExECAAYFAkLk
+nWIACgkQMoZOQZyFIisvBQCfQNu26oDdfydlcamtsGcNI3NCxLYAn3xBoUFBRGHx
+BsksFVW/Lu/zR+qPiEYEExECAAYFAkLlEHMACgkQUnkvr5l4r4ZVfQCeJyCO7KNA
+vS7Gskhxm5AXyoUBYqYAoOIucjFcefJ+XT7h7IVVZaXustgIiEYEExECAAYFAkLl
+EWoACgkQa3OhBipiP3K3wQCfT0qSslV61+vOKSLP2DBmFOypxggAoKItqEAlE3D4
+cfxrvwhcUPqYmMyciEYEExECAAYFAkLnYMQACgkQbpR1lMFSQxq3PACgqksqmWLv
+vb7R1a7Q8lWxjCaa8V8An0z0Fd9GJuNgydyNIW09EBBeqXwwiEkEMBECAAkFAj4N
+NagCHQAACgkQi9gubzC5S1yB4QCggBPo0gnQXYxXXovq++XB06XkyE8AnAr8Z8v8
+9p/xZ5f8Jhv3+arjeJQtiHMEEBECADMFAkH3aB8FgwHhM4AmGmh0dHA6Ly93d3cu
+Y2FjZXJ0Lm9yZy9pbmRleC5waHA/aWQ9MTAACgkQd65/Ep4r0fJ5pgCgiB3W1T4c
+GDppMkr/XOiSb+CGcz8AniCU4fX1rwfcmml+2UMHaD6YBifOiQCSAwUQO/csPD6P
+t/L4g0HZAQFcFQPiA4wlLRmaFhthlDezqGgAUmVqrUH3rQS+fBu9YVJr+iIU6tSA
+ZtxQ06LGXoeiDfr3EpVb6uuxfsvYEQ1nbLuUpdifZ/WVA1MpsrEBUPvgeuaGWiaU
+vKQ9PWlgLewpL7YZGA+1F6c0Gru36ufV0cWYjfmwwB7UgX+EzIvjpweJAJUDBRA2
+L2tnN+P0X+5l4yEBAXDUBADq7ePqNi8HAoiad2zhfVmTIq6TEECSEqlwZ6Jt69ng
+fpNWvyYoNbHj0sz8Z3lvRIFiK1oNBHyvrtpDIL0ycpw1Lsfcy+KpxApmU/hEhJvj
+/KzynnnDn1B4A40JU1Ap3jl+adE23byZvk3CVY146Fa2L+oWYCJ2MPo5bxeXv7HS
+PIkAlQMFEDYva54rAsNF4kSQGQEBt4YEAIozUUKZALnzf8gfLDusOW+exkp4q91t
+ssZKeYk1Y7J/hWCQLw4IqbA+dYs44grjj8mxPZiieKHav7TgUGpijpKwyAGo4Emo
+qS0e+3FsPdV9RSSRXyRniK255xZPHTOPU5rRCIKK/wce92yZAHSaPTuZZDPUJqZc
+9LAdif6358k4iQCVAwUQNkcAbUS43da7HZ9tAQFUnAP+PrKa3YFKp9XTrANmORex
+4kOyNpM1adS8zM6bTcHyIkH4WitBb2nRbqOdOuSwbh655aSStluIxY66CValeL+6
+E7MCEqQ/UlzzMVmdbMyWSYwDlkV3gQkg3vE6bgFlWlLLr2HnkllY3ISEChDWh8x7
+fRKLy+8ZBGW89ZXOGkhIb9mJAJUDBRA6ynbL7q1M/UmlY9kBAfqwBADWNsA9PkYR
+bJXuAo14CZY4GjkkDz4ROa28MAgaDfvCw2E0FAaQI/6k30K7NEQoJI4uBnkpdikt
+axgsnPVftnO1HaQWYEY8eylgF0myvOa/J3I4McJmA30GHT++ZZYo9jfTjumRk4iJ
+DmV1Kppe2ZgzPNJV7a8LpWopBSRlQI1AnYkAlQMFEDsaVtNoOT9M0gui7QEBGvAD
+/jHgMCvKihnRNm3k2+nDUTHFn6blxG6kjRtL1DJGQD5cATbhxMx9ioQtD1q87KCj
+54pcGQ8HbTL8frQbyPX6yFjpSPILIPCXWF6NVHZ9GCi3SOo39HNFxCQZUpVof49g
+mGOgL/qwfu7mi/sBEJP7c3FeyFnvewYE2a9SBhZUWdb2iQCVAwUTQt6sGzGmPZbs
+FAuBAQGa8QP+KvvPkpSYQQkswMyjywDO1D7WMO365hlf8yv+rm2pQuNcjohNAGKH
+x3gWiqTM6VU6uY4LIy5u7WHH1KRijvf6CLV6zi7Zoe8ahZtGJSwAJdejxaAsbV3J
+fFxhEqzC9HwZHSEUqwXEDQP3ULkYiUDAr6t/nUlKn8zmQ4yJklEM1jGJAJUDBRNC
+320oms08wKmfdd0BASX6A/0VZD5IG16JzDK6nq0GvG3ivVjtvl5Nx1CQZINxIzmF
+SKYHluG/HEltU05TLKsdR0bfltqSWAV5KGUhz7UFZrKgOwlKBKAZ4Qi9+jbR9dV8
+rB/Y1x1sz1r409L/Au5IpAXIjjx0fkYoJuW1J834ymZFIbSVrH6OO8JL6tk7nQzy
+rYkBHAQTAQIABgUCP7/IDwAKCRAG6s+qdtg8xuRuB/9vB0CVFffRizujxjDQqOfK
+6uRugXmOAa95hDrJxPtyo6etPr/rxC823H2/VWUCpcZuj69bc3S88qbKg6T69UNO
+OfM5wXnqL1/ORGDiRRPQ24N1hLXYO5yDtXZsegGgNgSsoI+EAykeUhcfzZjYqO2U
+njZBduMzY8eGniNFWtVoYQPOkowngny/L1GxA/pWEgGUiQl8RDIBxHOtA8xdMvje
+radJ6PjQ49/A+209WIXgBlwjRaNdKtJSXVMN6LXa/Fq0lVBT7mkCdeo2m1LnPQJH
+N7D0VuZS1EBJ/gjoptQUAQehpy0CZKo76dVDDJq3wHgXlxV0jrUZsAiW2fd0l5Jj
+iQIVAwUQPqRYgc1j0d2E+SZPAQJy5BAAiC9vzladIopS40igR8djtOq7qc0h9JqT
+XN1NXl6sbLPyh8VGTy6CLRTcqw3dvKoj7WSW1ICGOAw1N6UE8g6ErpEcJ7UhZ6JW
+YcHDAcS7rWNYnPqEg4Vz2yprdzJYo38ACD3o81O7ko+KvwFsT+PYquZsc2OsjWH9
+GNwBGiSugyEJA3nkN9S7YMmJ5LriOofMze1fl8wnaoCx55RliOIYe7T5l65hokvQ
+7u2AT/z/Wca/qSuIiz7bNznLyyUT15OILl/WgXtDyhh1dL0C3K0dDxkbCmUB1DoT
+5Qp03w7fleT8diOhSquk9181iUKI85teeGkIMzPff8Th7liyxFFiFse8Q+xbtvN+
+3/jtnK59ArCpc6uSxWBdwoE66Unf63mmiGvEbkgoZ+aAsxm5LkP3v7VHHUJOtESf
+ijLq3QSv2vrobxDHejLgtMU9MQbPLV8s2mcRWeLrMJuFNRRNSEfJLEhG7FtvX8Rz
+Ez5kkgaHgSdyJ6HtDHo5MNIl9WkY/oFrh+jo+8j8eh1i81pZyAxPd+FRsDiyGTBt
+NJLQoARJV+YAY3D0Xa5Gmd4p2X2M47koDgHeA5HOpmfB0wuQOYDNnILdhIuHVB1G
+RcicJGMVx7DOXVJa5hoTbHoIz0XlpLsafMIQym/K3x6sP3MybzefD83MaJ+Ilat+
+T3FxctedvHmJARwEEAECAAYFAkQtjiQACgkQKbiS0MhihQHy/Af7BegEEKu6b6Oi
+t6LjVHE7Da9e0Vdp4kcWN6z2fUaRLz5pU6qy2xC9M4fNHgC/QYr6Y4Oh21h1FSwT
+ThsvUPW/ww2Ya90yOnq2ATeQbWgFzd9G7nXd02/tX6ENy1r7bLV4q7V0YrHin2Qy
+lCA3TjWrQoJmk3XpbJklo3+/QYF4Ici1ZYxSZLFwQWkCMKb7PzWlyXbKp90SikfL
+LrqISBdHs29DKieYXgARakgyCOqhLlwVV25xYBgm8dqmKvunLhVywMtvGy34OAQB
++9oaLStOk9vpLnSkDLHLsAMtEFANxXb8eQ52EbdMXtKXAzpVwVXobzm35ZD3Ajrn
+PUPnsM6uSIhGBBARAgAGBQJDh599AAoJEGY1tsDeiF3TeL8AnR9M8PqJhFtgjsUV
+cGUPuqGvzHIwAJ9YtZTOPbgNFhAtzz5myUzEwATnUohGBBARAgAGBQJEotvOAAoJ
+EPXCYBZM7tdfzMIAn11ERE6xQes48Lxzofr3iJqSViEkAJ9mVR4Jzi5ELdbeRmna
+SmqWeSnahohGBBARAgAGBQJEowIuAAoJEJRQQ/U1wQDw6IgAoIFuERnMMQLeTUXQ
+l3pa+3qONYJaAKDP6zc0b8neb7FtegXWrmodKHzY+IhGBBARAgAGBQJEo41PAAoJ
+EC0hq2VlRht5rX8An3wHo8WtQIdS9maRS3kLouXQbwv7AJwNEPKHfj1duPlxTQcM
+wcOYqlA3k4hGBBARAgAGBQJEpEY6AAoJECt+gudD7yEfFNYAn2NIOA/HNFSh0nZI
+sgeJkooFB1OyAJ9KAfWADJ6jjqTeyiyCITcWGNgCOYhGBBARAgAGBQJEqSDSAAoJ
+EDLJ5M42QstLITkAoM03u+ZArGbrIOZ0eUsFpfeQOA/VAKC6ipKDBB+Widh0J8LI
+or1FFptaZYhGBBARAgAGBQJEqXkgAAoJEDWLqjNQ+WEWMtIAn1I+MUuw4Q2COj/5
+XhyLoG0gjq96AJ46ye16TpcQ3BJ/g05LBNJvonrd0IhGBBARAgAGBQJEqs2tAAoJ
+EPs32kAzLmPNne4AniQ1GQOAaUT0KZ6V65X5ZKULPuxWAJ9u33vCnx7sDd6FrVyo
+MbQaVMGwxohGBBARAgAGBQJEtH+LAAoJEIs3mDmc6QTcnH4AnA0vgXIlKw4jxKqT
+ARIztmzasOasAJsHlZgzr2rwg0uBk0rj1BWZuv6lUohGBBERAgAGBQJEoxpaAAoJ
+EFYNCGHufcdO2Q0Anj9O0fO3FFtkm/JzhhyDpJ4RGsmDAJ9yIzONSrjzDIn9LqQZ
+7jTDwA0Tu4hGBBERAgAGBQJEoxppAAoJEMpynWJgPU9U6VgAn2eJcIe9NBN0X3Bz
+81etoSby3sZGAJ9XpjrTwTsOjN6EdD3L+SQdoBu8J4hGBBMRAgAGBQJC4D0YAAoJ
+ENUzTnWxMT3iC5MAn0n2KJmuCCm7rI8sPQcOhM5piW19AJ9ayTVzGuii1Ar2s41a
+KGCsGxS34ohGBBMRAgAGBQJC4TWsAAoJEKIRWuFfa4tytRQAoNIs5JcTKV5ipr7o
+ALx7tvc1GeObAJsERXhHD/z9Tc8ayNyCdLvYacAj24hGBBMRAgAGBQJEo6GAAAoJ
+EEwEKBgxGj3ltywAmwQJlwMEVB478PRN2dmQWvERlPqJAKCHAki2GJh6DPH2/hsI
+mw0NAbuH/ZkBogRF5pBCEQQAl0V2Nzw661+0aKZ9wUIcmrN55Vzu/JQ9pxXz7BeW
+wD1hTjNeYxgkPoG7+XpTUKBx1Ft8UW/PmnNYF/lJp192Ub+2lG9xHxYCD0iuaXO2
+bBXFZ2VRD+RmrO3WlEp51Lt6ou7mBm+RxWxf2MEAjOr24V6ACrRL8WYVwtJumSon
+//MAoMQ/H3l0Hx5O3nG3ruUyLnyamqnrA/9pfnqC0LTI3RAau7hKIfTLXh/md93B
+7zcDS+CtBzcDZb5Dm/NEpRC4vtwIjrkceNB8JBXjfuUhAxxoQyUsahM70Ao2vk7j
+iEt4V4jY5DrIxKUG/+BPZhlbJ5RWbrhS/L56tejIBeIYdxTHt4xTKggKIlfSeoaL
+v8w7N2/x2mvPwwP/R9THBOKfRkSCQPWODdQZMl/PgAyiKQDLxzws098roEs/yuCH
+7twsAZLk4pXtRWRl7AFS90a233wIDdMQbKtRKT5HQnTWrCuRoRT0sSnMi+7rzfG2
+UdSYiElgWeBsYYgtq5Vz23NshZeFkcAkUVG++P6CWQMxZkvqTIimle0sqia0KEpl
+YW4tRnJlZGVyaWMgQ2xlcmUgPGpmY2xlcmVAYXBhY2hlLm9yZz6IYAQTEQIAIAUC
+ReaQQgIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEA9FCiZiEL/AxXcAniAU
+9ixyqn2KbN0LiL62LbUIP7dgAKCSJxnDnv1Ea0btS5dIT43eWIXcFrkCDQRF5pBM
+EAgA46vQ7lkEVSvB14lYCkc2AgZSd7hG4hfvUCbyvskbrkCQi7ajJvMiXC5cvnZ9
+OFEWRhrcIAWvasQFZp81PsKX5oJuxTXE1pJZeufIroXTKgAvop85+ac1m34iQADT
+hI9ZifsrkrdaJmbTGfJd4eLoJX9QXHVbGHplXQuKTby6kIZVkKj4F4fTMn7RoIMT
+527ihbaSDWWWFBx8RmWsyVVy+8SnjLBZmTUpJ3eb4uTnlWQg63KwWE8n6KgEdvHq
+USEPnBVEQlB+tEpZiOdKBDT+OeLg+0cg2HXaebROAp5JKEZnt0P/n/HBqo/cKla8
+fLzOiLFdsGhICGAGT/xVg6iX7wADBQgA2vkFmT3Ue5woe17uJpV2TRHhUELYPvfq
+ZsdE7DxtxKzCGRaUTQcVRfPmJjycyclAQek+PXR3nH0TrWZRNwHmXe2teH+NRl3b
+pj7MBAMMjrHT1aUmQQw/FNwOdDuIPz5xz2VpBR1cjmlyTY988y9Nb0yVs789D10e
+wIKZPw/b8iGtjPUFn6IQrSuQWSTr/ZhTuQLg3DMw1NEo7LlIJOOVsTpFd2LHcx9b
+Ujd/1bxDF/+WE8jQdyKAr5pp/P3JkEokzfVuoXhbiAdq5WWLUWUcNoHmivmUFEbx
+XFUioyIgqud/5nWRTViD5qBxeyzFqFNE8bVQOnkjkrSakxxNEpmCQYhJBBgRAgAJ
+BQJF5pBMAhsMAAoJEA9FCiZiEL/Ah5UAn2wOhfYkXBtOejoIJnl7/7DrTc9EAKCG
+dXioomESUJeZzxMYdyk8nOiIeQ==
+=UD4Y
+-----END PGP PUBLIC KEY BLOCK-----

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/CHANGES
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/CHANGES	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/CHANGES	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,5 +1,5 @@
 JAKARTA TOMCAT CONNECTORS AJP CHANGELOG:            -*-text-*-
-Last modified at [$Date: 2004-08-03 05:05:52 -0500 (Tue, 03 Aug 2004) $]
+Last modified at [$Date: 2004-08-03 04:05:52 -0600 (Tue, 03 Aug 2004) $]
 
 Changes in AJP HEAD:
     * Imported proxy sources from 2.1-HEAD

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/include/ajp.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/include/ajp.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/include/ajp.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 1999-2004 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/include/ajp_header.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/include/ajp_header.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/include/ajp_header.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/include/ajp_logon.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/include/ajp_logon.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/include/ajp_logon.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_header.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_header.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_header.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_link.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_link.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_link.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 1999-2004 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_logon.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_logon.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_logon.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_msg.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_msg.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/src/ajp_msg.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 1999-2004 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/test/httpd_wrap.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/test/httpd_wrap.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/test/httpd_wrap.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2004 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/test/httpd_wrap.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/test/httpd_wrap.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/test/httpd_wrap.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2004 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/test/testajp.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/test/testajp.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/ajplib/test/testajp.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2004 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/proxy/JAKARTA
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/proxy/JAKARTA	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/proxy/JAKARTA	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,5 +1,5 @@
 JAKARTA TOMCAT CONNECTORS AJP CHANGELOG FOR MOD_PROXY:  -*-text-*-
-Last modified at [$Date: 2004-08-03 07:08:22 -0500 (Tue, 03 Aug 2004) $]
+Last modified at [$Date: 2004-08-03 06:08:22 -0600 (Tue, 03 Aug 2004) $]
 
 Changes in AJP HEAD:
     * proxy_util.c: Enable compiling on 2.0-HEAD

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/proxy/mod_proxy.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/proxy/mod_proxy.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/proxy/mod_proxy.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 #define FIX_15207
-/* Copyright 1999-2004 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/proxy/mod_proxy.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/proxy/mod_proxy.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/proxy/mod_proxy.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 1999-2004 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_ajp.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_ajp.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_ajp.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 1999-2004 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_balancer.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_balancer.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_balancer.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 1999-2004 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_connect.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_connect.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_connect.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 1999-2004 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_ftp.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_ftp.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_ftp.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 1999-2004 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_http.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_http.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_http.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 1999-2004 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_util.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_util.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/ajp/proxy/proxy_util.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 1999-2004 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/build.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/build.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
 <project name="Jtc" default="dist" basedir=".">
 
 <!-- ========== Initialize Properties ===================================== -->

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/ActionCode.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/ActionCode.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/ActionCode.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/ActionHook.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/ActionHook.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/ActionHook.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Adapter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Adapter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Adapter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/InputBuffer.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/InputBuffer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/InputBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/OutputBuffer.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/OutputBuffer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/OutputBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Processor.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Processor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Processor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/ProtocolHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/ProtocolHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/ProtocolHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Request.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Request.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Request.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -293,7 +294,7 @@
     public long getContentLengthLong() {
         if( contentLength > -1 ) return contentLength;
 
-        MessageBytes clB = headers.getValue("content-length");
+        MessageBytes clB = headers.getUniqueValue("content-length");
         contentLength = (clB == null || clB.isNull()) ? -1 : clB.getLong();
 
         return contentLength;

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/RequestGroupInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/RequestGroupInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/RequestGroupInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/RequestInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/RequestInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/RequestInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Response.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Response.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/Response.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/memory/MemoryProtocolHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/memory/MemoryProtocolHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/memory/MemoryProtocolHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/CoyoteInterceptor2.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/CoyoteInterceptor2.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/CoyoteInterceptor2.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/Tomcat3Adapter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/Tomcat3Adapter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/Tomcat3Adapter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/Tomcat3Request.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/Tomcat3Request.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/Tomcat3Request.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/Tomcat3Response.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/Tomcat3Response.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat3/Tomcat3Response.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteAdapter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteAdapter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteAdapter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -44,7 +45,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 299381 $ $Date: 2004-04-04 14:09:38 -0500 (Sun, 04 Apr 2004) $
+ * @version $Revision: 466585 $ $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 final class CoyoteAdapter

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteConnector.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteConnector.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteConnector.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -52,7 +53,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 395417 $ $Date: 2006-04-19 17:47:14 -0500 (Wed, 19 Apr 2006) $
+ * @version $Revision: 466585 $ $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class CoyoteConnector

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteInputStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteInputStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteInputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteOutputStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteOutputStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteOutputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyotePrincipal.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyotePrincipal.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyotePrincipal.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
  * is used to represent principals authenticated at the protocol handler level.
  *
  * @author Remy Maucherat
- * @version $Revision: 299222 $ $Date: 2004-02-24 03:02:18 -0600 (Tue, 24 Feb 2004) $
+ * @version $Revision: 466585 $ $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class CoyotePrincipal 

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -70,7 +71,7 @@
  *
  * @author Remy Maucherat
  * @author Craig R. McClanahan
- * @version $Revision: 392357 $ $Date: 2006-04-07 13:28:19 -0500 (Fri, 07 Apr 2006) $
+ * @version $Revision: 483776 $ $Date: 2006-12-07 19:11:48 -0700 (Thu, 07 Dec 2006) $
  */
 
 public class CoyoteRequest
@@ -2076,6 +2077,10 @@
                 }
             }
 
+            if (!isAlpha(language) || !isAlpha(country) || !isAlpha(variant)) {
+                continue;
+            }
+
             // Add a new Locale to the list of Locales for this quality level
             Locale locale = new Locale(language, country, variant);
             Double key = new Double(-quality);  // Reverse the order
@@ -2103,5 +2108,13 @@
 
     }
 
-
+    protected static final boolean isAlpha(String value) {
+        for (int i = 0; i < value.length(); i++) {
+            char c = value.charAt(i);
+            if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))) {
+                return false;
+            }
+        }
+        return true;
+    }
 }

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequestFacade.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequestFacade.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequestFacade.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -38,7 +39,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 299222 $ $Date: 2004-02-24 03:02:18 -0600 (Tue, 24 Feb 2004) $
+ * @version $Revision: 466585 $ $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class CoyoteRequestFacade 

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteResponse.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteResponse.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteResponse.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -54,7 +55,7 @@
  *
  * @author Remy Maucherat
  * @author Craig R. McClanahan
- * @version $Revision: 368124 $ $Date: 2006-01-11 14:45:30 -0600 (Wed, 11 Jan 2006) $
+ * @version $Revision: 466585 $ $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class CoyoteResponse

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteResponseFacade.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteResponseFacade.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteResponseFacade.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -32,7 +33,7 @@
  * All methods are delegated to the wrapped response.
  *
  * @author Remy Maucherat
- * @version $Revision: 299222 $ $Date: 2004-02-24 03:02:18 -0600 (Tue, 24 Feb 2004) $
+ * @version $Revision: 466585 $ $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class CoyoteResponseFacade 

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteServerSocketFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteServerSocketFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteServerSocketFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteWriter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteWriter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/CoyoteWriter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/OutputBuffer.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/OutputBuffer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/java/org/apache/coyote/tomcat4/OutputBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/coyote/src/test/org/apache/coyote/SimpleAdapter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/coyote/src/test/org/apache/coyote/SimpleAdapter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/coyote/src/test/org/apache/coyote/SimpleAdapter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/build.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/build.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -3,7 +3,7 @@
 
 <!--
         "Coyote" connector framework for Jakarta Tomcat
-        $Id: build.xml 300446 2005-04-15 03:10:02Z billbarker $
+        $Id: build.xml 504390 2007-02-07 00:47:18Z markt $
 -->
 
 
@@ -161,12 +161,14 @@
 
   <target name="compile-only" 
           description="Compile shareable components">
+    <available property="jdk.1.4.present"   classname="java.lang.CharSequence" />
 
     <javac  srcdir="${source.home}"
            destdir="${build.home}/classes"
              debug="${compile.debug}"
        deprecation="${compile.deprecation}"
           optimize="${compile.optimize}">
+      <exclude name="org\apache\coyote\http11\*Apr*" unless="jdk.1.4.present" />
       <classpath refid="compile.classpath"/>
     </javac>
     <copy    todir="${build.home}/classes" filtering="on">

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -1614,7 +1615,20 @@
             outputBuffer.addActiveFilter(outputFilters[Constants.GZIP_FILTER]);
             headers.setValue("Content-Encoding").setString("gzip");
             // Make Proxies happy via Vary (from mod_deflate)
-            headers.setValue("Vary").setString("Accept-Encoding");
+            // Bugzilla 39402: http://issues.apache.org/bugzilla/show_bug.cgi?id=39402
+            // Either add a "Vary: Accept-Encoding" header or add Accept-Encoding to
+            // the existing header.
+            String varyHeaderValue = "";
+            MessageBytes varyHeaderValueBytes = headers.getValue("Vary");
+            if (varyHeaderValueBytes!=null && varyHeaderValueBytes.getString()!=null) {
+                varyHeaderValue = varyHeaderValueBytes.getString();
+            }
+            if ("".equals(varyHeaderValue)) {
+                varyHeaderValue="Accept-Encoding";
+            } else {
+                varyHeaderValue=varyHeaderValue+","+"Accept-Encoding";
+            }
+            headers.setValue("Vary").setString(varyHeaderValue);
         }
 
         // Add date header

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11BaseProtocol.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11BaseProtocol.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11BaseProtocol.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11Protocol.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11Protocol.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/Http11Protocol.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InputFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InputFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InputFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalAprInputBuffer.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalAprInputBuffer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalAprInputBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2006 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalInputBuffer.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalInputBuffer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalInputBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalOutputBuffer.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalOutputBuffer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/InternalOutputBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/OutputFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/OutputFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/OutputFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/BufferedInputFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/BufferedInputFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/BufferedInputFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/ChunkedOutputFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/ChunkedOutputFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/ChunkedOutputFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/GzipOutputFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/GzipOutputFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/GzipOutputFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/IdentityInputFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/IdentityInputFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/IdentityInputFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/IdentityOutputFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/IdentityOutputFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/IdentityOutputFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/SavedRequestInputFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/SavedRequestInputFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/SavedRequestInputFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -55,6 +56,9 @@
         	writeLength = input.getLength();
         }
         
+        if(input.getOffset()>= input.getEnd())
+            return -1;
+        
         input.substract(chunk.getBuffer(), 0, writeLength);
         chunk.setOffset(0);
         chunk.setEnd(writeLength);

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/VoidInputFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/VoidInputFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/VoidInputFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/VoidOutputFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/VoidOutputFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/java/org/apache/coyote/http11/filters/VoidOutputFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/test/java/org/apache/coyote/http11/FileTester.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/test/java/org/apache/coyote/http11/FileTester.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/test/java/org/apache/coyote/http11/FileTester.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/test/java/org/apache/coyote/http11/RandomAdapter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/test/java/org/apache/coyote/http11/RandomAdapter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/test/java/org/apache/coyote/http11/RandomAdapter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/http11/src/test/java/org/apache/coyote/http11/TestAdapter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/http11/src/test/java/org/apache/coyote/http11/TestAdapter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/http11/src/test/java/org/apache/coyote/http11/TestAdapter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/BUILD.txt
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/BUILD.txt	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/BUILD.txt	2007-05-21 10:51:24 UTC (rev 3531)
@@ -11,3 +11,9 @@
 $> ./configure --with-apxs=/usr/sbin/apxs (or where ever the apxs/apxs2 is)
 $> make
 $> su -c 'make install'
+
+For the impatient SunONE admins:
+$> cd native
+$> ./configure --enable-netscape
+$> cd netscape
+$> make -f Makefile.solaris

Modified: branches/tomcat5.5/upstream/current/connectors/jk/HOWTO-RELEASE
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/HOWTO-RELEASE	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/HOWTO-RELEASE	2007-05-21 10:51:24 UTC (rev 3531)
@@ -16,13 +16,12 @@
 and replace it with the new version.  These are the docs I found which
 had to be updated:
 
-xdocs/howto/apache.xml
-xdocs/howto/quick.xml
-xdocs/howto/workers.xml
+xdocs/index.xml
+xdocs/news/<THISYEAR0101>.xml
+native/STATUS.txt
+tools/jkrelease.sh (check that all  ../docs/news/printer/*html are in the list).
 
-Update the version in jk/native/configure.in.
-
-Update the version in jk/native/common/jk_version.h, here is
+Update the JK_VERISRELEASE define in jk/native/common/jk_version.h, here is
 a svn diff that shows what I changed:
 
 Index: native/common/jk_version.h
@@ -70,87 +69,9 @@
 Create the new source distribution
 ----------------------------------
 
-(A tool named jkrelease.sh in tomcat-connectors/jk/tools does the
-following steps).
+A tool named jkrelease.sh in tomcat-connectors/jk/tools creates
+a release tarball and a zip including signature files.
 
-Create the directory
-tomcat-connectors-jk-{MAJOR_REVISION}-{MINOR_REVISION}-{RELEASE}-src
-
-For this example mkdir tomcat-connectors-jk-1.2.16-src
-
-Copy the files KEYS and LICENSE from tomcat-conectors to
-the source distribution directory.
-
-cp tomcat-connectors/KEYS tomcat-connectors-jk-1.2.16-src
-cp tomcat-connectors/LICENSE tomcat-connectors-jk-1.2.16-src
-
-Copy the directory tomcat-connectors/scandoc to the source
-distribution directory.
-
-cp -pr tomcat-connectors/scandoc tomcat-connectors-jk-1.2.16-src
-
-Copy the directory tomcat-connectors/common to the source
-distribution directory.
-
-cp -pr tomcat-connectors/common tomcat-connectors-jk-1.2.16-src
-
-Make the jk directory in the source distribution.
-
-mkdir tomcat-connectors-jk-1.2.16-src/jk
-
-Copy the file BUILD.txt from tomcat-conectors/jk to 
-the source distribution jk directory.
-
-cp -p tomcat-connectors/jk/BUILD.txt tomcat-connectors-jk-1.2.16-src/README.txt
-
-Copy the directory tomcat-connectors/build/docs to the source
-distribution directory.
-
-cp -pr tomcat-connectors/jk/build/docs tomcat-connectors-jk-1.2.16-src/jk
-
-Copy the directory tomcat-connectors/tools to the source
-distribution directory.
-
-cp -pr tomcat-connectors/jk/tools tomcat-connectors-jk-1.2.16-src/jk
-
-Make the jk conf directory in the source distribution.
-
-mkdir tomcat-connectors-jk-1.2.16-src/jk/conf
-
-Copy the worker.properties file to the jk/conf directory.
-
-cp -p tomcat-connectors/jk/conf/worker.properties tomcat-connectors-jk-1.2.16-src/jk/conf
-
-Copy the directory tomcat-connectors/support to the source
-distribution directory.
-
-cp -pr tomcat-connectors/jk/support tomcat-connectors-jk-1.2.16-src/jk
-
-Copy the directory tomcat-connectors/native to the source
-distribution directory.
-
-cp -pr tomcat-connectors/jk/native tomcat-connectors-jk-1.2.16-src/jk
-
-Remove all the CVS and .svn directories from the new source distribution.
-
-find tomcat-connectors-jk-1.2.16-src -type d -name CVS | xargs rm -rf
-find tomcat-connectors-jk-1.2.16-src -type d -name .svn | xargs rm -rf
-
-cd to tomcat-connectors-jk-1.2.16-src/jk/native and run buildconf.sh
-to create the configure script.
-
-Create a tar gzip'd archive
-
-tar zcf tomcat-connectors-jk-1.2.16-src.tar.gz tomcat-connectors-jk-1.2.16-src
-
-Create a zip archive
-
-zip -r tomcat-connectors-jk-1.2.16-src.zip tomcat-connectors-jk-1.2.16-src
-
-Sign the release using PGP. Here is an example using gpg:
-
-gpg -abs -o tomcat-connectors-jk-1.2.16-src.tar.gz.asc tomcat-connectors-jk-1.2.16-src.tar.gz
-
 Upload source distribution and documentation to www.apache.org
 -------------------------------------------------------------------
 First update the KEYS on the server if you have added a new pgp key.
@@ -196,8 +117,14 @@
 Update source for next version
 ------------------------------
 
-Reset JK_VERISRELEASE to 0 and update JK_VERSTRING, JK_VERMAJOR,
-JK_VERMINOR, and JK_VERFIX as needed.  Commit your changes to subversion.
+native/STATUS.txt: Add status "in development" for new version.
+native/configure.in: Update variable VERSION.
+native/common/jk_version.h: Update variables JK_VERMAJOR, JK_VERMINOR, JK_VERFIX,
+                            JK_VERSTRING, and JK_VERISRELEASE.
+native/common/portable.h.sample: Update VERSION define.
+native/iis/isapi_redirect.rc: Update JK_VERSION_STR, FILEVERSION, and PRODUCTVERSION
+native/iis/installer/isapi-redirector-win32-msi.ism: Update ProductVersion.
+xdocs/changelog.xml: Start a new section for the new version.
 
 Remove old release distributions from www.apache.org
 ----------------------------------------------------

Modified: branches/tomcat5.5/upstream/current/connectors/jk/build.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/build.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -92,16 +92,16 @@
   <!-- ==================== Detection and reports ==================== -->
 
     <target name="report"  >
-        <echo message="Tomcat33: ${tomcat33.detect} ${tomcat33.home}" />
+        <echo message="Tomcat33:  ${tomcat33.detect} ${tomcat33.home}" />
         <echo message="Tomcat40:  ${tomcat40.detect} ${tomcat40.home}" />
-        <echo message="Tomcat41: ${tomcat41.detect} ${tomcat41.home}" />
-        <echo message="Tomcat5:  ${tomcat5.detect} ${tomcat5.home}" />
-        <echo message="Apache13: ${apache13.detect} ${apache13.home}" />
-        <echo message="Apache2: ${apache2.detect} ${apache2.home}" />
-        <echo message="iPlanet:  ${iplanet.detect} ${iplanet.home}" />
-        <echo message="IIS:      ${iis.detect} ${iis.home}" />
+        <echo message="Tomcat41:  ${tomcat41.detect} ${tomcat41.home}" />
+        <echo message="Tomcat5:   ${tomcat5.detect} ${tomcat5.home}" />
+        <echo message="Apache13:  ${apache13.detect} ${apache13.home}" />
+        <echo message="Apache2:   ${apache2.detect} ${apache2.home}" />
+        <echo message="iPlanet:   ${iplanet.detect} ${iplanet.home}" />
+        <echo message="IIS:       ${iis.detect} ${iis.home}" />
         <echo message="AOLserver: ${aolserver.detect} ${aolserver.home}" />
-        <echo message="jmx:      ${jmx.jar} ${jmx.detect} ${commons-modeler.jar} ${modeler.detect}" />
+        <echo message="jmx:       ${jmx.jar} ${jmx.detect} ${commons-modeler.jar} ${modeler.detect}" />
     </target>
 
     <target name="detect" >
@@ -204,6 +204,8 @@
                verbose="off" >
             <include name="org/apache/jk/**"/>
             <include name="org/apache/coyote/ajp/**" />
+            <exclude name="org/apache/coyote/ajp/*Apr*" unless="jdk.1.4.present" />
+	    <exclude name="org/apache/jk/common/ChannelNioSocket.java" unless="jdk.1.4.present"/>
 	    <exclude name="org/apache/jk/common/JkMX.java" unless="jmx.detect"/>
 	    <exclude name="org/apache/jk/common/ModJkMX.java" unless="jmx.detect"/>
 	    <exclude name="org/apache/jk/common/Shm14.java" unless="jdk14.detect"/>

Modified: branches/tomcat5.5/upstream/current/connectors/jk/conf/workers.properties
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/conf/workers.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/conf/workers.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -58,7 +58,7 @@
 #
 
 #
-#------ DEFAULT worket list ------------------------------------------
+#------ DEFAULT worker list ------------------------------------------
 #---------------------------------------------------------------------
 #
 #
@@ -126,7 +126,7 @@
 #        once in a while. Until then all work is redirected to peer
 #        workers.
 worker.loadbalancer.type=lb
-worker.loadbalancer.balanced_workers=ajp12, ajp13
+worker.loadbalancer.balance_workers=ajp12, ajp13
 
 
 #

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/Ajp13.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/Ajp13.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/Ajp13.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/Ajp13Packet.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/Ajp13Packet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/Ajp13Packet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/AjpHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/AjpHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/AjpHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/Logger.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/Logger.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/Logger.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/NegociationHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/NegociationHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/NegociationHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/RequestHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/RequestHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/RequestHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat33/Ajp14Interceptor.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat33/Ajp14Interceptor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat33/Ajp14Interceptor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Connector.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Connector.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Connector.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -41,7 +42,7 @@
  * Implementation of an Ajp13 connector.
  *
  * @author Kevin Seguin
- * @version $Revision: 299218 $ $Date: 2004-02-24 02:48:44 -0600 (Tue, 24 Feb 2004) $
+ * @version $Revision: 466585 $ $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13InputStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13InputStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13InputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Logger.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Logger.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Logger.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13OutputStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13OutputStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13OutputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Processor.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Processor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Processor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -33,7 +34,7 @@
 
 /**
  * @author Kevin Seguin
- * @version $Revision: 299218 $ $Date: 2004-02-24 02:48:44 -0600 (Tue, 24 Feb 2004) $
+ * @version $Revision: 466585 $ $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 final class Ajp13Processor

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Request.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Request.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Request.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Response.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Response.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Ajp13Response.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/JkServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/JkServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/JkServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/ApacheConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/ApacheConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/ApacheConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/BaseJkConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/BaseJkConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/BaseJkConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -88,7 +89,7 @@
     @author Costin Manolache
     @author Larry Isaacs
     @author Bill Barker
-	@version $Revision: 299797 $
+	@version $Revision: 466585 $
  */
 public class BaseJkConfig  implements LifecycleListener {
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/IISConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/IISConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/IISConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/NSConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/NSConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/ajp/tomcat4/config/NSConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -74,7 +75,7 @@
     // ----------------------------------------------------------- Constructors
 
 
-    public AjpAprProcessor(AprEndpoint endpoint) {
+    public AjpAprProcessor(int packetSize, AprEndpoint endpoint) {
 
         this.endpoint = endpoint;
 
@@ -86,6 +87,10 @@
         response.setOutputBuffer(new SocketOutputBuffer());
         request.setResponse(response);
 
+        requestHeaderMessage = new AjpMessage(packetSize);
+        responseHeaderMessage = new AjpMessage(packetSize);
+        bodyMessage = new AjpMessage(packetSize);
+
         if (endpoint.getFirstReadTimeout() > 0) {
             readTimeout = endpoint.getFirstReadTimeout() * 1000;
         } else {
@@ -93,9 +98,9 @@
         }
 
         // Allocate input and output buffers
-        inputBuffer = ByteBuffer.allocateDirect(Constants.MAX_PACKET_SIZE * 2);
+        inputBuffer = ByteBuffer.allocateDirect(packetSize * 2);
         inputBuffer.limit(0);
-        outputBuffer = ByteBuffer.allocateDirect(Constants.MAX_PACKET_SIZE * 2);
+        outputBuffer = ByteBuffer.allocateDirect(packetSize * 2);
 
         // Cause loading of HexUtils
         int foo = HexUtils.DEC[0];
@@ -103,7 +108,7 @@
         // Cause loading of HttpMessages
         HttpMessages.getMessage(200);
 
-    }
+     }
 
 
     // ----------------------------------------------------- Instance Variables
@@ -132,19 +137,19 @@
      * processing of the first message of a "request", so it might not be a request
      * header. It will stay unchanged during the processing of the whole request.
      */
-    protected AjpMessage requestHeaderMessage = new AjpMessage();
+    protected AjpMessage requestHeaderMessage ;
 
 
     /**
      * Message used for response header composition.
      */
-    protected AjpMessage responseHeaderMessage = new AjpMessage();
+    protected AjpMessage responseHeaderMessage ;
 
 
     /**
      * Body message.
      */
-    protected AjpMessage bodyMessage = new AjpMessage();
+    protected AjpMessage bodyMessage ;
 
 
     /**
@@ -261,6 +266,10 @@
      */
     protected static final byte[] endMessageArray;
 
+    /**
+     * Direct buffer used for sending explicit flush message.
+     */
+    protected static final ByteBuffer flushMessageBuffer;
 
     // ----------------------------------------------------- Static Initializer
 
@@ -268,18 +277,18 @@
     static {
 
         // Set the get body message buffer
-        AjpMessage getBodyMessage = new AjpMessage();
+        AjpMessage getBodyMessage = new AjpMessage(128);
         getBodyMessage.reset();
         getBodyMessage.appendByte(Constants.JK_AJP13_GET_BODY_CHUNK);
         getBodyMessage.appendInt(Constants.MAX_READ_SIZE);
         getBodyMessage.end();
-        getBodyMessageBuffer =
-            ByteBuffer.allocateDirect(getBodyMessage.getLen());
-        getBodyMessageBuffer.put(getBodyMessage.getBuffer(), 0,
-                getBodyMessage.getLen());
+        getBodyMessageBuffer = ByteBuffer.allocateDirect(getBodyMessage
+                .getLen());
+        getBodyMessageBuffer.put(getBodyMessage.getBuffer(), 0, getBodyMessage
+                .getLen());
 
         // Set the read body message buffer
-        AjpMessage pongMessage = new AjpMessage();
+        AjpMessage pongMessage = new AjpMessage(128);
         pongMessage.reset();
         pongMessage.appendByte(Constants.JK_AJP13_CPONG_REPLY);
         pongMessage.end();
@@ -288,7 +297,7 @@
                 pongMessage.getLen());
 
         // Allocate the end message array
-        AjpMessage endMessage = new AjpMessage();
+        AjpMessage endMessage = new AjpMessage(128);
         endMessage.reset();
         endMessage.appendByte(Constants.JK_AJP13_END_RESPONSE);
         endMessage.appendByte(1);
@@ -297,6 +306,18 @@
         System.arraycopy(endMessage.getBuffer(), 0, endMessageArray, 0,
                 endMessage.getLen());
 
+        // Set the flush message buffer
+        AjpMessage flushMessage = new AjpMessage(128);
+        flushMessage.reset();
+        flushMessage.appendByte(Constants.JK_AJP13_SEND_BODY_CHUNK);
+        flushMessage.appendInt(0);
+        flushMessage.appendByte(0);
+        flushMessage.end();
+        flushMessageBuffer =
+            ByteBuffer.allocateDirect(flushMessage.getLen());
+        flushMessageBuffer.put(flushMessage.getBuffer(), 0,
+                flushMessage.getLen());
+
     }
 
 
@@ -352,8 +373,6 @@
         // Error flag
         error = false;
 
-        long soTimeout = endpoint.getSoTimeout();
-
         int limit = 0;
         if (endpoint.getFirstReadTimeout() > 0) {
             limit = endpoint.getMaxThreads() / 2;
@@ -509,6 +528,11 @@
 
             try {
                 flush();
+                // Send explicit flush message
+                if (Socket.sendb(socket, flushMessageBuffer, 0,
+                                 flushMessageBuffer.position()) < 0) {
+                    error = true;                    
+                }
             } catch (IOException e) {
                 // Set error flag
                 error = true;
@@ -1226,8 +1250,7 @@
      */
     protected class SocketOutputBuffer
         implements OutputBuffer {
-
-
+        
         /**
          * Write chunk.
          */
@@ -1246,7 +1269,7 @@
 
             int len = chunk.getLength();
             // 4 - hardcoded, byte[] marshalling overhead
-            int chunkSize = Constants.MAX_SEND_SIZE;
+            int chunkSize =  Constants.MAX_SEND_SIZE;
             int off = 0;
             while (len > 0) {
                 int thisTime = len;

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/AjpAprProtocol.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/AjpAprProtocol.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/AjpAprProtocol.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -106,6 +107,12 @@
 
 
     /**
+     * AJP packet size.
+     */
+    protected int packetSize = Constants.MAX_PACKET_SIZE;
+
+    
+    /**
      * Adapter which will process the requests recieved by this endpoint.
      */
     private Adapter adapter;
@@ -404,7 +411,20 @@
         this.requiredSecret = requiredSecret;
     }
     
+
+    public int getPacketSize() {
+        return packetSize;
+    }
+
+
+    public void setPacketSize(int packetSize) {
+        if(packetSize <Constants.MAX_PACKET_SIZE) {
+            packetSize = Constants.MAX_PACKET_SIZE;
+        }
+        this.packetSize = packetSize;
+    }
     
+    
     // --------------------------------------  AjpConnectionHandler Inner Class
 
 
@@ -423,7 +443,7 @@
             try {
                 processor = (AjpAprProcessor) localProcessor.get();
                 if (processor == null) {
-                    processor = new AjpAprProcessor(proto.ep);
+                    processor = new AjpAprProcessor(proto.packetSize,proto.ep);
                     processor.setAdapter(proto.adapter);
                     processor.setTomcatAuthentication(proto.tomcatAuthentication);
                     processor.setRequiredSecret(proto.requiredSecret);

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/AjpMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/AjpMessage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/AjpMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -46,14 +47,19 @@
     protected static StringManager sm =
         StringManager.getManager(Constants.Package);
 
+    // ------------------------------------------------------------ Constructor
 
+    public AjpMessage(int packetSize) {
+        buf = new byte[packetSize];
+    }
+   
     // ----------------------------------------------------- Instance Variables
 
 
     /**
      * Fixed size buffer.
      */
-    protected byte buf[] = new byte[8 * 1024];
+    protected byte buf[] = null ;
 
 
     /**
@@ -70,7 +76,7 @@
      */
     protected int len; 
 
-    
+     
     // --------------------------------------------------------- Public Methods
 
 
@@ -134,7 +140,7 @@
     public void appendByte(int val) {
         buf[pos++] = (byte) val;
     }
-	
+
     
     /**
      * Append an int (4 bytes) to the message.
@@ -339,7 +345,7 @@
             log.error(sm.getString("ajpmessage.read", "" + length));
             return 0;
         }
-	
+
         if ((length == 0xFFFF) || (length == -1)) {
             return 0;
         }

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/coyote/ajp/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/apr/AprImpl.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/apr/AprImpl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/apr/AprImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/apr/TomcatStarter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/apr/TomcatStarter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/apr/TomcatStarter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/AjpConstants.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/AjpConstants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/AjpConstants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelJni.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelJni.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelJni.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelNioSocket.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelNioSocket.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelNioSocket.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelShm.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelShm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelShm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelSocket.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelSocket.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelSocket.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -81,13 +82,14 @@
     private int startPort=8009;
     private int maxPort=8019; // 0 for backward compat.
     private int port=startPort;
+    private int backlog = 0;
     private InetAddress inet;
     private int serverTimeout;
     private boolean tcpNoDelay=true; // nodelay to true by default
     private int linger=100;
     private int socketTimeout;
     private int bufferSize = -1;
-    private int packetSize = 8*1024;
+    private int packetSize = AjpConstants.MAX_PACKET_SIZE;
 
 
     private long requestCount=0;
@@ -207,8 +209,8 @@
     }
 
     public void setPacketSize(int ps) {
-        if(ps < 8*1024) {
-            ps = 8*1024;
+        if(ps < AjpConstants.MAX_PACKET_SIZE) {
+            ps = AjpConstants.MAX_PACKET_SIZE;
         }
         packetSize = ps;
     }
@@ -262,13 +264,17 @@
     }
 
     public int getMaxSpareThreads() {
-        return tp.getMaxSpareThreads();   
+        return tp.getMaxSpareThreads();
     }
 
     public void setBacklog(int i) {
+        this.backlog = i;
     }
+  
+    public int getBacklog() {
+        return backlog;
+    }    
     
-    
     /* ==================== ==================== */
     ServerSocket sSocket;
     final int socketNote=1;
@@ -366,9 +372,9 @@
         for( int i=startPort; i<=maxPort; i++ ) {
             try {
                 if( inet == null ) {
-                    sSocket = new ServerSocket( i, 0 );
+                    sSocket = new ServerSocket( i, backlog );
                 } else {
-                    sSocket=new ServerSocket( i, 0, inet );
+                    sSocket=new ServerSocket( i, backlog, inet );
                 }
                 port=i;
                 break;
@@ -654,7 +660,7 @@
             log.debug("Accepting ajp connections on " + port);
         while( running ) {
 	    try{
-                MsgContext ep=createMsgContext();
+                MsgContext ep=createMsgContext(packetSize);
                 ep.setSource(this);
                 ep.setWorkerEnv( wEnv );
                 this.accept(ep);

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelUn.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelUn.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ChannelUn.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/HandlerDispatch.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/HandlerDispatch.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/HandlerDispatch.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/HandlerRequest.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/HandlerRequest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/HandlerRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/JkInputStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/JkInputStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/JkInputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -38,8 +39,8 @@
     private static org.apache.commons.logging.Log log=
         org.apache.commons.logging.LogFactory.getLog( JkInputStream.class );
 
-    private Msg bodyMsg = new MsgAjp();
-    private Msg outputMsg = new MsgAjp();
+    private Msg bodyMsg ;
+    private Msg outputMsg ;
     private MsgContext mc;
 
     
@@ -51,7 +52,8 @@
     private boolean isFirst = true;
     private boolean isReplay = false;
     private boolean isReadRequired = false;
-
+    private int packetSize = AjpConstants.MAX_PACKET_SIZE;
+    
     static {
         // Make certain HttpMessages is loaded for SecurityManager
         try {
@@ -60,11 +62,24 @@
             // ignore
         }
     }
+   
+    public JkInputStream(MsgContext context, int bsize) {
+        mc = context;
+        if (bsize < AjpConstants.MAX_PACKET_SIZE)
+            this.packetSize = AjpConstants.MAX_PACKET_SIZE;
+        else
+            this.packetSize = bsize;
+        bodyMsg = new MsgAjp(this.packetSize);
+        outputMsg = new MsgAjp(this.packetSize);
+    }
 
+    /**
+     * @deprecated
+     */
     public JkInputStream(MsgContext context) {
-        mc = context;
+        this(context, AjpConstants.MAX_PACKET_SIZE);
     }
-
+   
     // -------------------- Jk specific methods --------------------
 
 
@@ -235,7 +250,8 @@
         // Why not use outBuf??
         bodyMsg.reset();
         bodyMsg.appendByte(AjpConstants.JK_AJP13_GET_BODY_CHUNK);
-        bodyMsg.appendInt(AjpConstants.MAX_READ_SIZE);
+        // bodyMsg.appendInt(AjpConstants.MAX_READ_SIZE);
+        bodyMsg.appendInt(packetSize - AjpConstants.H_SIZE - 2);
         
         if( log.isDebugEnabled() )
             log.debug("refillReadBuffer " + Thread.currentThread());

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/JkMX.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/JkMX.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/JkMX.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/JniHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/JniHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/JniHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ModJkMX.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ModJkMX.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/ModJkMX.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/MsgAjp.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/MsgAjp.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/MsgAjp.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/Shm.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/Shm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/Shm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/Shm14.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/Shm14.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/Shm14.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/WorkerDummy.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/WorkerDummy.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/common/WorkerDummy.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/ApacheConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/ApacheConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/ApacheConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/BaseJkConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/BaseJkConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/BaseJkConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -88,7 +89,7 @@
     @author Costin Manolache
     @author Larry Isaacs
     @author Bill Barker
-        @version $Revision: 299988 $
+        @version $Revision: 466585 $
  */
 public class BaseJkConfig  implements LifecycleListener {
     private static org.apache.commons.logging.Log log =

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/GeneratorApache2.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/GeneratorApache2.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/GeneratorApache2.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/GeneratorJk1.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/GeneratorJk1.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/GeneratorJk1.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/GeneratorJk2.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/GeneratorJk2.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/GeneratorJk2.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/IISConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/IISConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/IISConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/NSConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/NSConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/NSConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/WebXml2Jk.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/WebXml2Jk.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/config/WebXml2Jk.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/JkChannel.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/JkChannel.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/JkChannel.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/JkHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/JkHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/JkHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -109,10 +110,14 @@
     public void destroy() throws IOException {
     }
 
-    public MsgContext createMsgContext() {
-        return new MsgContext();
-    }
-    
+     public MsgContext createMsgContext() {
+         return new MsgContext(8*1024);
+     }
+
+     public MsgContext createMsgContext(int bsize) {
+        return new MsgContext(bsize);
+     }
+ 
     public int invoke(Msg msg, MsgContext mc )  throws IOException {
         return OK;
     }

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/Msg.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/Msg.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/Msg.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/MsgContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/MsgContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/MsgContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -52,7 +53,7 @@
     private Object notes[]=new Object[32];
     private JkHandler next;
     private JkChannel source;
-    private JkInputStream jkIS = new JkInputStream(this);
+    private JkInputStream jkIS;
     private C2BConverter c2b;
     private Request req;
     private WorkerEnv wEnv;
@@ -79,13 +80,21 @@
     public static final int JK_STATUS_CLOSED=2;
     public static final int JK_STATUS_ERROR=3;
 
-    public MsgContext() {
+    public MsgContext(int bsize) {
         try {
             c2b = new C2BConverter("iso-8859-1");
         } catch(IOException iex) {
             log.warn("Can't happen", iex);
         }
+       jkIS = new JkInputStream(this, bsize);
     }
+
+    /**
+     * @deprecated
+     */
+    public MsgContext() {
+        this(8*1024);
+    }
     
     public final Object getNote( int id ) {
         return notes[id];

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/WorkerEnv.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/WorkerEnv.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/core/WorkerEnv.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/server/JkMain.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/server/JkMain.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/java/org/apache/jk/server/JkMain.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/ApacheConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/ApacheConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/ApacheConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/Def.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/Def.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/Def.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/JkData.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/JkData.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/JkData.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/JniConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/JniConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/JniConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/SoTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/SoTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/SoTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/Source.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/Source.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/Source.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/CcCompiler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/CcCompiler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/CcCompiler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/CompilerAdapter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/CompilerAdapter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/CompilerAdapter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/GcjCompiler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/GcjCompiler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/GcjCompiler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/GcjLinker.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/GcjLinker.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/GcjLinker.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/LibtoolCompiler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/LibtoolCompiler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/LibtoolCompiler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/LibtoolLinker.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/LibtoolLinker.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/LibtoolLinker.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/LinkerAdapter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/LinkerAdapter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/LinkerAdapter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MsvcCompiler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MsvcCompiler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MsvcCompiler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MsvcLinker.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MsvcLinker.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MsvcLinker.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MwccCompiler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MwccCompiler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MwccCompiler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MwldLinker.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MwldLinker.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkant/java/org/apache/jk/ant/compilers/MwldLinker.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Added: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/AbstractJkStatusTask.class
===================================================================
(Binary files differ)


Property changes on: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/AbstractJkStatusTask.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkBalancer.class
===================================================================
(Binary files differ)

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkBalancerMapping.class
===================================================================
(Binary files differ)

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkBalancerMember.class
===================================================================
(Binary files differ)

Added: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkResult.class
===================================================================
(Binary files differ)


Property changes on: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkResult.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkServer.class
===================================================================
(Binary files differ)

Added: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkSoftware.class
===================================================================
(Binary files differ)


Property changes on: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkSoftware.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatus.class
===================================================================
(Binary files differ)

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusAccessor.class
===================================================================
(Binary files differ)

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusParser.class
===================================================================
(Binary files differ)

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusResetTask.class
===================================================================
(Binary files differ)

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusTask.class
===================================================================
(Binary files differ)

Added: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusUpdateLoadbalancerTask.class
===================================================================
(Binary files differ)


Property changes on: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusUpdateLoadbalancerTask.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusUpdateTask.class
===================================================================
(Binary files differ)

Added: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusUpdateWorkerTask.class
===================================================================
(Binary files differ)


Property changes on: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusUpdateWorkerTask.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/antlib.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/antlib.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/antlib.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,6 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <antlib>
   <typedef
+        name="updateworker"
+        classname="org.apache.jk.status.JkStatusUpdateWorkerTask" />
+  <typedef
+        name="updateloadbalancer"
+        classname="org.apache.jk.status.JkStatusUpdateLoadbalancerTask" />
+  <typedef
         name="update"
         classname="org.apache.jk.status.JkStatusUpdateTask" />
   <typedef

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/jkstatus.tasks
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/jkstatus.tasks	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/jkstatus.tasks	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,4 +1,6 @@
 # Apache mod_jk jk status tasks
+jkUpdateWorker=org.apache.jk.status.JkStatusUpdateWorkerTask
+jkUpdateLoadbalancer=org.apache.jk.status.JkStatusUpdateLoadbalancerTask
 jkUpdate=org.apache.jk.status.JkStatusUpdateTask
 jkReset=org.apache.jk.status.JkStatusResetTask
 jkStatus=org.apache.jk.status.JkStatusTask

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -20,7 +20,8 @@
     <pathelement location="${commons-modeler.jar}"/>
     <pathelement location="${commons-logging.jar}"/>
     <pathelement location="${jmx.jar}"/>
-    <pathelement location="${catalina.build}/common/lib/servlet-api.jar"/>
+    <pathelement location="${ant.home}/lib/ant.jar"/>
+      <pathelement location="${catalina.build}/common/lib/servlet-api.jar"/>
   </path>
 
     <!-- Source path -->

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/dist/tomcat-jkstatus-ant.jar
===================================================================
(Binary files differ)

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/example/jkstatus.properties.default
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/example/jkstatus.properties.default	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/example/jkstatus.properties.default	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,6 +1,8 @@
 jkstatus.host=localhost
-jkstatus.port=80
+jkstatus.port=2090
 jkstatus.username=manager
 jkstatus.password=tomcat
 jkstatus.url=http://${jkstatus.host}:${jkstatus.port}/jkstatus
-
+jkstatus.testlb=loadbalancer
+jkstatus.testworker=node01
+catalina.home=../../../../build/build

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/example/jkstatus.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/example/jkstatus.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/example/jkstatus.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!-- @author Peter Rossbach -->
 
 <project name="status" 
@@ -7,12 +7,11 @@
     <property name="profile" value=""/>
     <property file="jkstatus${profile}.properties"/>
     <property file="jkstatus${profile}.properties.default"/>
-    <property name="catalina.home" location="../../../../build/build"/>
-
+ 
     <path id="jkstatus.path">
       <pathelement location="${catalina.home}/bin/commons-logging-api.jar"/>
       <pathelement location="${catalina.home}/server/lib/catalina-ant.jar"/>
-      <pathelement location="${catalina.home}/server/lib/tomcat-jkstatus-ant.jar"/>
+      <pathelement location="../dist/tomcat-jkstatus-ant.jar"/>
       <pathelement location="${catalina.home}/server/lib/tomcat-util.jar"/>
     </path>
 
@@ -32,53 +31,40 @@
     <target name="reset"
             depends="-status-modjk-reset" 
             description="reset jk status" />
-
-    <!--
+    
+   <!--
        ########################################################################################################
        private
        ########################################################################################################
     -->   
-    
-   <target name="-status-modjk-access">
-      <jkStatus url="${jkstatus.url}" 
-                username="${jkstatus.username}"
-                password="${jkstatus.password}"
-                resultproperty="jkstatus"
-                failOnError="false"/>
-      <echoproperties prefix="jkstatus" />           
-      <jkStatus url="${jkstatus.url}" 
-                username="${jkstatus.username}"
-                password="${jkstatus.password}"
-                loadbalancer="loadbalancer"
-                resultproperty="lb"
-                failOnError="false"/>
-      <echoproperties prefix="lb" />           
-      <jkStatus url="${jkstatus.url}" 
-                username="${jkstatus.username}"
-                password="${jkstatus.password}"
-                worker="node01"
-                resultproperty="worker"
-                failOnError="false"/>
-     <echoproperties prefix="worker" />
-     <jkUpdate url="${jkstatus.url}" 
-               username="${jkstatus.username}"
-               password="${jkstatus.password}"
-               workerLoadFactor="${worker.node01.lbfactor}"
-               workerRedirect="${worker.node01.redirect}"
-               workerClusterDomain="d20"
-               workerDisabled="true"
-               workerStopped="false"
-               workerLb="${worker.node01.lb.name}"
-               worker = "node01"
-               workerType = "worker"/>
-      <jkStatus url="${jkstatus.url}" 
-                username="${jkstatus.username}"
-                password="${jkstatus.password}"
-                worker="node01"
-                resultproperty="workerafter"
-                failOnError="false"/>
-      <echoproperties prefix="workerafter" />
-   </target>     
+	  <target name="-status-modjk-access">
+	      <jkStatus url="${jkstatus.url}" 
+	                username="${jkstatus.username}"
+	                password="${jkstatus.password}"
+	                resultproperty="jkstatus.before"
+	      	        echo="on"
+	                failOnError="off"/>
+	      <echoproperties prefix="jkstatus" />           
+ 	      <jkUpdateWorker url="${jkstatus.url}" 
+	               username="${jkstatus.username}"
+	               password="${jkstatus.password}"
+	               loadbalancer="${jkstatus.testlb}"
+	               worker="${jkstatus.testworker}"
+	               domain="d20"
+	               />
+	      <jkUpdateLoadbalancer url="${jkstatus.url}" 
+	               username="${jkstatus.username}"
+	               password="${jkstatus.password}"
+	               loadbalancer="${jkstatus.testlb}"
+	      		   method="Sessions"
+	               />
+	      <jkStatus url="${jkstatus.url}" 
+	                username="${jkstatus.username}"
+	                password="${jkstatus.password}"
+	                resultproperty="workerafter"
+	                failOnError="false"/>
+	      <echoproperties prefix="jkstatus.after" />
+	   </target>        
 
    <target name="-status-modjk-reset">
       <jkStatus url="${jkstatus.url}" 
@@ -91,7 +77,8 @@
       <jkReset  url="${jkstatus.url}" 
                 username="${jkstatus.username}"
                 password="${jkstatus.password}"
-                workerLb="loadbalancer"
+                loadbalancer="${jkstatus.testlb}"
+		        worker="${jkstatus.testworker}"
        />
 
        <jkStatus url="${jkstatus.url}" 
@@ -102,4 +89,5 @@
       <echoproperties prefix="jkstatus.after" />
    </target>           
 
+	
 </project>

Added: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/example/show.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/example/show.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/example/show.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project name="modjk-status" 
+         xmlns:jk="urn:org-apache-jk-status"
+         default="status" basedir=".">
+
+	<property name="profile" value=""/>
+	<property file="jkstatus${profile}.properties"/>
+	<property file="jkstatus.properties.default"/>
+
+    <path id="jkstatus.classpath">
+      <pathelement location="${catalina.home}/bin/commons-logging-api.jar"/>
+      <pathelement location="${catalina.home}/server/lib/catalina-ant.jar"/>
+      <!--<pathelement location="${catalina.home}/server/lib/tomcat-jkstatus-ant.jar"/>-->
+      <pathelement location="../dist/tomcat-jkstatus-ant.jar"/>
+      <pathelement location="${catalina.home}/server/lib/tomcat-util.jar"/>
+    </path>
+
+    <typedef resource="org/apache/jk/status/antlib.xml"       
+           uri="urn:org-apache-jk-status" classpathref="jkstatus.classpath"/> 
+           
+    <target name="status" >       
+ 	    <jk:status url="${jkstatus.url}" 
+	                username="${jkstatus.username}"
+	                password="${jkstatus.password}"
+	                resultproperty="worker"
+	      	        echo="off"
+	                failOnError="off"/>
+	    <echoproperties prefix="worker" />
+    </target>
+</project>           

Added: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/AbstractJkStatusTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/AbstractJkStatusTask.java	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/AbstractJkStatusTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,209 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jk.status;
+
+import java.io.BufferedOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.ProtocolException;
+import java.net.URL;
+import java.net.URLConnection;
+
+import org.apache.catalina.ant.AbstractCatalinaTask;
+import org.apache.catalina.util.Base64;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Project;
+
+/**
+ * Ant task that implements mod_jk 1.2.20 result message string
+ * 
+ * @author Peter Rossbach
+ * @version $Revision:$
+ * @since mod_jk 1.2.20
+ */
+public abstract class AbstractJkStatusTask extends AbstractCatalinaTask {
+
+	/**
+     * Execute the requested operation.
+     * 
+     * @exception BuildException
+     *                if an error occurs
+     */
+    public void execute() throws BuildException {
+
+        super.execute();
+        checkParameter();
+        StringBuffer sb = createLink();
+        execute(sb.toString(), null, null, -1);
+
+    }
+    
+    protected abstract void checkParameter() ;
+    protected abstract StringBuffer createLink() ;
+    	 
+    /**
+     * Execute the specified command, based on the configured properties.
+     * The input stream will be closed upon completion of this task, whether
+     * it was executed successfully or not.
+     *
+     * @param command Command to be executed
+     * @param istream InputStream to include in an HTTP PUT, if any
+     * @param contentType Content type to specify for the input, if any
+     * @param contentLength Content length to specify for the input, if any
+     *
+     * @exception BuildException if an error occurs
+     */
+    public void execute(String command, InputStream istream,
+                        String contentType, int contentLength)
+        throws BuildException {
+
+        InputStreamReader reader = null;
+        try {
+
+            HttpURLConnection hconn = send(command, istream, contentType, contentLength);
+
+            // Process the response message
+            reader = new InputStreamReader(hconn.getInputStream(), "UTF-8");
+            String error = null;
+            error = handleResult(reader, error);
+            if (error != null && isFailOnError()) {
+                // exception should be thrown only if failOnError == true
+                // or error line will be logged twice
+                throw new BuildException(error);
+            }
+        } catch (Throwable t) {
+            if (isFailOnError()) {
+                throw new BuildException(t);
+            } else {
+                handleErrorOutput(t.getMessage());
+            }
+        } finally {
+            closeRedirector();
+            if (reader != null) {
+                try {
+                    reader.close();
+                } catch (Throwable u) {
+                    ;
+                }
+                reader = null;
+            }
+            if (istream != null) {
+                try {
+                    istream.close();
+                } catch (Throwable u) {
+                    ;
+                }
+                istream = null;
+            }
+        }
+
+    }
+
+	private String handleResult(InputStreamReader reader, String error) throws IOException {
+		StringBuffer buff = new StringBuffer();
+		int msgPriority = Project.MSG_INFO;
+		boolean first = true;
+		while (true) {
+		    int ch = reader.read();
+		    if (ch < 0) {
+		        break;
+		    } else if ((ch == '\r') || (ch == '\n')) {
+		        // in Win \r\n would cause handleOutput() to be called
+		        // twice, the second time with an empty string,
+		        // producing blank lines
+		        if (buff.length() > 0) {
+		            String line = buff.toString();
+		            buff.setLength(0);
+		            if (first) {
+		                if (!line.startsWith("Result: type=OK")) {
+		                    error = line;
+		                    msgPriority = Project.MSG_ERR;
+		                }
+		                first = false;
+		            }
+		            handleOutput(line, msgPriority);
+		        }
+		    } else {
+		        buff.append((char) ch);
+		    }
+		}
+		if (buff.length() > 0) {
+		    handleOutput(buff.toString(), msgPriority);
+		}
+		return error;
+	}
+    
+	protected HttpURLConnection send(String command, InputStream istream, String contentType, int contentLength) throws IOException, MalformedURLException, ProtocolException {
+		URLConnection conn;
+		// Create a connection for this command
+		conn = (new URL(url + command)).openConnection();
+		HttpURLConnection hconn = (HttpURLConnection) conn;
+
+		// Set up standard connection characteristics
+		hconn.setAllowUserInteraction(false);
+		hconn.setDoInput(true);
+		hconn.setUseCaches(false);
+		if (istream != null) {
+		    hconn.setDoOutput(true);
+		    hconn.setRequestMethod("PUT");
+		    if (contentType != null) {
+		        hconn.setRequestProperty("Content-Type", contentType);
+		    }
+		    if (contentLength >= 0) {
+		        hconn.setRequestProperty("Content-Length",
+		                                 "" + contentLength);
+		    }
+		} else {
+		    hconn.setDoOutput(false);
+		    hconn.setRequestMethod("GET");
+		}
+		hconn.setRequestProperty("User-Agent",
+		                         "JkStatus-Ant-Task/1.1");
+
+		// Set up an authorization header with our credentials
+		String input = username + ":" + password;
+		String output = new String(Base64.encode(input.getBytes()));
+		hconn.setRequestProperty("Authorization",
+		                         "Basic " + output);
+
+		// Establish the connection with the server
+		hconn.connect();
+        // Send the request data (if any)
+        if (istream != null) {
+            BufferedOutputStream ostream =
+                new BufferedOutputStream(hconn.getOutputStream(), 1024);
+            byte buffer[] = new byte[1024];
+            while (true) {
+                int n = istream.read(buffer);
+                if (n < 0) {
+                    break;
+                }
+                ostream.write(buffer, 0, n);
+            }
+            ostream.flush();
+            ostream.close();
+            istream.close();
+        }
+		return hconn;
+	}
+
+
+}

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancer.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -21,19 +22,30 @@
 
 /**
  * @author Peter Rossbach
- * @version $Revision:$ $Date:$
+ * @version $Revision: 500555 $ $Date: 2007-01-27 08:59:41 -0700 (Sat, 27 Jan 2007) $
  * @see org.apache.jk.status.JkStatusParser
  */
 public class JkBalancer implements Serializable {
 
-    int id ;
+    int id =-1;
     String name ;
     String type ;
     boolean sticky ;
     boolean stickyforce;
     int retries ;
     int recover ;
-        
+    String method ;
+    String lock ;
+    int good = -1 ;
+    int degraded = -1;
+    int bad = -1 ;
+    int busy = -1;
+    int max_busy = -1 ;
+    int member_count = -1 ;
+    int map_count = -1 ;
+    int time_to_maintenance_min = -1 ;
+    int time_to_maintenance_max = -1 ;
+       
     List members = new ArrayList() ;
     List mappings = new ArrayList() ;
      
@@ -100,13 +112,13 @@
     /**
      * @return Returns the recover.
      */
-    public int getRecover() {
+    public int getRecover_time() {
         return recover;
     }
     /**
      * @param recover The recover to set.
      */
-    public void setRecover(int recover) {
+    public void setRecover_time(int recover) {
         this.recover = recover;
     }
     /**
@@ -124,25 +136,25 @@
     /**
      * @return Returns the sticky.
      */
-    public boolean isSticky() {
+    public boolean isSticky_session() {
         return sticky;
     }
     /**
      * @param sticky The sticky to set.
      */
-    public void setSticky(boolean sticky) {
+    public void setSticky_session(boolean sticky) {
         this.sticky = sticky;
     }
     /**
      * @return Returns the stickyforce.
      */
-    public boolean isStickyforce() {
+    public boolean isSticky_session_force() {
         return stickyforce;
     }
     /**
      * @param stickyforce The stickyforce to set.
      */
-    public void setStickyforce(boolean stickyforce) {
+    public void setSticky_session_force(boolean stickyforce) {
         this.stickyforce = stickyforce;
     }
     /**
@@ -157,5 +169,167 @@
     public void setType(String type) {
         this.type = type;
     }
+    /**
+     * @return the bad
+     * @since mod_jk 1.2.20
+     */
+    public int getBad() {
+        return bad;
+    }
+    /**
+     * @param bad the bad to set
+     * @since mod_jk 1.2.20
+     */
+    public void setBad(int bad) {
+        this.bad = bad;
+    }
+    /**
+     * @return the busy
+     * @since mod_jk 1.2.20
+     */
+    public int getBusy() {
+        return busy;
+    }
+    /**
+     * @param busy the busy to set
+     * @since mod_jk 1.2.20
+     */
+    public void setBusy(int busy) {
+        this.busy = busy;
+    }
+    /**
+     * @return the degraded
+     * @since mod_jk 1.2.20
+     */
+    public int getDegraded() {
+        return degraded;
+    }
+    /**
+     * @param degraded the degraded to set
+     * @since mod_jk 1.2.20
+     */
+    public void setDegraded(int degraded) {
+        this.degraded = degraded;
+    }
+    /**
+     * @return the good
+     * @since mod_jk 1.2.20
+     */
+    public int getGood() {
+        return good;
+    }
+    /**
+     * @param good the good to set
+     * @since mod_jk 1.2.20
+     */
+    public void setGood(int good) {
+        this.good = good;
+    }
+    /**
+     * @return the lock
+     * @since mod_jk 1.2.20
+     */
+    public String getLock() {
+        return lock;
+    }
+    /**
+     * @param lock the lock to set
+     * @since mod_jk 1.2.20
+     */
+    public void setLock(String lock) {
+        this.lock = lock;
+    }
+    /**
+     * @return the max_busy
+     * @since mod_jk 1.2.20
+     */
+    public int getMax_busy() {
+        return max_busy;
+    }
+    /**
+     * @param max_busy the max_busy to set
+     * @since mod_jk 1.2.20
+     */
+    public void setMax_busy(int max_busy) {
+        this.max_busy = max_busy;
+    }
+    /**
+     * @return the method
+     * @since mod_jk 1.2.20
+     */
+    public String getMethod() {
+        return method;
+    }
+    /**
+     * @param method the method to set
+     * @since mod_jk 1.2.20
+     */
+    public void setMethod(String method) {
+        this.method = method;
+    }
+    
+    /**
+     * @return the member_count
+     * @since mod_jk 1.2.20
+     */
+    public int getMember_count() {
+        return member_count;
+    }
+    
+    /**
+     * @param member_count the member_count to set
+     * @since mod_jk 1.2.20
+     */
+    public void setMember_count(int member_count) {
+        this.member_count = member_count;
+    }
+    
+    /**
+     * @return the map_count
+     * @since mod_jk 1.2.20
+     */
+    public int getMap_count() {
+        return map_count;
+    }
 
+    /**
+     * @param map_count the map_count to set
+     * @since mod_jk 1.2.20
+     */
+    public void setMap_count(int map_count) {
+        this.map_count = map_count;
+    }
+    
+    /**
+     * @return the time_to_maintenance_min
+     * @since mod_jk 1.2.21
+     */
+    public int getTime_to_maintenance_min() {
+        return time_to_maintenance_min;
+    }
+
+    /**
+     * @param time_to_maintenance_min the time_to_maintenance_min to set
+     * @since mod_jk 1.2.21
+     */
+    public void setTime_to_maintenance_min(int time_to_maintenance_min) {
+        this.time_to_maintenance_min = time_to_maintenance_min;
+    }
+    
+    /**
+     * @return the time_to_maintenance_max
+     * @since mod_jk 1.2.21
+     */
+    public int getTime_to_maintenance_max() {
+        return time_to_maintenance_max;
+    }
+
+    /**
+     * @param time_to_maintenance_max the time_to_maintenance_max to set
+     * @since mod_jk 1.2.21
+     */
+    public void setTime_to_maintenance_max(int time_to_maintenance_max) {
+        this.time_to_maintenance_max = time_to_maintenance_max;
+    }
+    
 }

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancerMapping.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancerMapping.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancerMapping.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,22 +20,38 @@
 
 /**
  * @author Peter Rossbach
- * @version $Revision:$ $Date:$
+ * @version $Revision: 485242 $ $Date: 2006-12-10 12:45:39 -0700 (Sun, 10 Dec 2006) $
  * @see org.apache.jk.status.JkStatusParser
  */
 public class JkBalancerMapping implements Serializable {
-    String type ;
+    int id =-1 ;
+	String type ;
     String uri;
     String context ;
+    String source ;
     
     /**
+	 * @return the id
+	 */
+	public int getId() {
+		return id;
+	}
+	/**
+	 * @param id the id to set
+	 */
+	public void setId(int id) {
+		this.id = id;
+	}
+	/**
      * @return Returns the context.
+     * @deprecated mod_jk 1.2.20
      */
     public String getContext() {
         return context;
     }
     /**
      * @param context The context to set.
+     * @deprecated mod_jk 1.2.20
      */
     public void setContext(String context) {
         this.context = context;
@@ -63,4 +80,19 @@
     public void setUri(String uri) {
         this.uri = uri;
     }
+	/**
+	 * @return the source
+     * @since mod_jk 1.2.20
+ 	 */
+	public String getSource() {
+		return source;
+	}
+	/**
+	 * @param source the source to set
+	 * @since mod_jk 1.2.20
+     */
+	public void setSource(String source) {
+		this.source = source;
+	}
+    
  }

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancerMember.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancerMember.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancerMember.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 
 /**
  * @author Peter Rossbach
- * @version $Revision:$ $Date:$
+ * @version $Revision: 500550 $ $Date: 2007-01-27 08:41:36 -0700 (Sat, 27 Jan 2007) $
  * @see org.apache.jk.status.JkStatusParser
  */
 /**
@@ -28,13 +29,16 @@
  */
 public class JkBalancerMember implements Serializable {
     
-    int id;
+    int id = -1;
 
     String name;
 
-    /* possible with > 1.2.16 */
+    /* possible with >= 1.2.16 */
     String jvm_route;
 
+    /* possible with >= 1.2.20 */
+    String route;
+
     String type;
 
     String host;
@@ -81,9 +85,19 @@
     /* possible with > 1.2.16 */
     int distance = -1;
 
+    /* possible with > 1.2.20 */
+    int time_to_recover = -1 ;
+    
+    /* possible with > 1.2.21 */
+    int time_to_recover_max = -1 ;
+    
+    /* possible with > 1.2.21 */
+    int time_to_recover_min = -1 ;
+    
     /**
      * @return Returns the jvm_route.
-     * @since mod_jk 1.2.19
+     * @since mod_jk 1.2.16
+     * @deprecated
      */
     public String getJvm_route() {
         return jvm_route;
@@ -91,13 +105,30 @@
 
     /**
      * @param jvm_route The jvm_route to set.
-     * @since mod_jk 1.2.19
+     * @since mod_jk 1.2.16
+     * @deprecated
      */
     public void setJvm_route(String jvm_route) {
         this.jvm_route = jvm_route;
     }
 
     /**
+     * @return the route
+    * @since mod_jk 1.2.20
+     */
+    public String getRoute() {
+        return route;
+    }
+
+    /**
+     * @param route the route to set
+    * @since mod_jk 1.2.20
+     */
+    public void setRoute(String route) {
+        this.route = route;
+    }
+
+    /**
      * @return Returns the address.
      */
     public String getAddress() {
@@ -132,7 +163,7 @@
      * @return Returns the maxbusy.
      * @since mod_jk 1.2.18
      */
-    public int getMaxbusy() {
+    public int getMax_busy() {
         return maxbusy;
     }
 
@@ -140,7 +171,7 @@
      * @param maxbusy The maxbusy to set.
      * @since mod_jk 1.2.18
      */
-    public void setMaxbusy(int maxbusy) {
+    public void setMax_busy(int maxbusy) {
         this.maxbusy = maxbusy;
     }
 
@@ -163,7 +194,7 @@
      * @return Returns the clienterrors.
      * @since mod_jk 1.2.19
      */
-    public long getClienterrors() {
+    public long getClient_errors() {
         return clienterrors;
     }
 
@@ -171,7 +202,7 @@
      * @param clienterrors The clienterrors to set.
      * @since mod_jk 1.2.19
      */
-    public void setClienterrors(long clienterrors) {
+    public void setClient_errors(long clienterrors) {
         this.clienterrors = clienterrors;
     }
 
@@ -434,5 +465,52 @@
         this.distance = distance;
     }
 
+    /**
+     * @return the time_to_recover
+     * @since mod_jk 1.2.20
+     */
+    public int getTime_to_recover() {
+        return time_to_recover;
+    }
 
+    /**
+     * @param time_to_recover the time_to_recover to set
+     * @since mod_jk 1.2.20
+     */
+    public void setTime_to_recover(int time_to_recover) {
+        this.time_to_recover = time_to_recover;
+    }
+
+    /**
+     * @return the time_to_recover_min
+     * @since mod_jk 1.2.21
+     */
+    public int getTime_to_recover_min() {
+        return time_to_recover_min;
+    }
+
+    /**
+     * @param time_to_recover_min the time_to_recover_min to set
+     * @since mod_jk 1.2.21
+     */
+    public void setTime_to_recover_min(int time_to_recover_min) {
+        this.time_to_recover_min = time_to_recover_min;
+    }
+
+    /**
+     * @return the time_to_recover_max
+     * @since mod_jk 1.2.21
+     */
+    public int getTime_to_recover_max() {
+        return time_to_recover_max;
+    }
+
+    /**
+     * @param time_to_recover_max the time_to_recover_max to set
+     * @since mod_jk 1.2.21
+     */
+    public void setTime_to_recover_max(int time_to_recover_max) {
+        this.time_to_recover_max = time_to_recover_max;
+    }
+
 }

Added: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkResult.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkResult.java	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkResult.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,54 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.jk.status;
+
+import java.io.Serializable;
+
+/**
+ * @author Peter Rossbach
+ * @version $Revision:$ $Date:$
+ * @see org.apache.jk.status.JkStatusParser
+ */
+public class JkResult implements Serializable {
+    String type ;
+    String message;
+	/**
+	 * @return the message
+	 */
+	public String getMessage() {
+		return message;
+	}
+	/**
+	 * @param message the message to set
+	 */
+	public void setMessage(String message) {
+		this.message = message;
+	}
+	/**
+	 * @return the type
+	 */
+	public String getType() {
+		return type;
+	}
+	/**
+	 * @param type the type to set
+	 */
+	public void setType(String type) {
+		this.type = type;
+	}  
+     
+}

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkServer.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkServer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkServer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,15 +20,13 @@
 
 /**
  * @author Peter Rossbach
- * @version $Revision:$ $Date:$
+ * @version $Revision: 485242 $ $Date: 2006-12-10 12:45:39 -0700 (Sun, 10 Dec 2006) $
  * @see org.apache.jk.status.JkStatusParser
  */
 public class JkServer implements Serializable {
     String name ;
     String port;  
-    String software;
-    String version ;
-    
+     
     /**
      * @return Returns the name.
      */
@@ -52,28 +51,6 @@
     public void setPort(String port) {
         this.port = port;
     }
-    /**
-     * @return Returns the software.
-     */
-    public String getSoftware() {
-        return software;
-    }
-    /**
-     * @param software The software to set.
-     */
-    public void setSoftware(String software) {
-        this.software = software;
-    }
-    /**
-     * @return Returns the version.
-     */
-    public String getVersion() {
-        return version;
-    }
-    /**
-     * @param version The version to set.
-     */
-    public void setVersion(String version) {
-        this.version = version;
-    }
+
+ 
 }

Added: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkSoftware.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkSoftware.java	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkSoftware.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,54 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.jk.status;
+
+import java.io.Serializable;
+
+/**
+ * @author Peter Rossbach
+ * @version $Revision:$ $Date:$
+ * @see org.apache.jk.status.JkStatusParser
+ */
+public class JkSoftware implements Serializable {
+    String web_server;
+    String jk_version ;
+    
+     /**
+     * @return Returns the software.
+     */
+    public String getWeb_server() {
+        return web_server;
+    }
+    /**
+     * @param software The software to set.
+     */
+    public void setWeb_server(String software) {
+        this.web_server = software;
+    }
+    /**
+     * @return Returns the version.
+     */
+    public String getJk_version() {
+        return jk_version;
+    }
+    /**
+     * @param version The version to set.
+     */
+    public void setJk_version(String version) {
+        this.jk_version = version;
+    }
+}

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatus.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatus.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatus.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -21,14 +22,16 @@
 
 /**
  * @author Peter Rossbach
- * @version $Revision:$ $Date:$
+ * @version $Revision: 485242 $ $Date: 2006-12-10 12:45:39 -0700 (Sun, 10 Dec 2006) $
  * @see org.apache.jk.status.JkStatusParser
  */
 public class JkStatus implements Serializable {
 
     JkServer server ;
+    JkSoftware software ;
+    JkResult result ;
     List balancers = new ArrayList() ;
-    
+   
     /**
      * @return Returns the balancers.
      */
@@ -59,5 +62,29 @@
     public void setServer(JkServer server) {
        this.server = server ;
     }
+	/**
+	 * @return the result
+	 */
+	public JkResult getResult() {
+		return result;
+	}
+	/**
+	 * @param result the result to set
+	 */
+	public void setResult(JkResult result) {
+		this.result = result;
+	}
     
+    /**
+     * @return Returns the software.
+     */
+    public JkSoftware getSoftware() {
+        return software;
+    }
+    /**
+     * @param software The software to set.
+     */
+    public void setSoftware(JkSoftware software) {
+        this.software = software;
+    }
 }

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusAccessor.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusAccessor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusAccessor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -28,8 +29,10 @@
 import org.apache.tomcat.util.digester.Digester;
 
 /**
+ * Create connection to mod_jk jkstatus page.
+ * Optional you can use Http basic auth user and password.
  * @author Peter Rossbach
- * @version $Revision:$ $Date:$
+ * @version $Revision: 485242 $ $Date: 2006-12-10 12:45:39 -0700 (Sun, 10 Dec 2006) $
  * @see org.apache.jk.status.JkStatusParser
  * @since 5.5.10
  */
@@ -57,7 +60,8 @@
         JkStatus status = null;
 
         try {
-            hconn = openConnection(url + "?cmd=show&mime=xml", username, password);
+        	// FIXME: use cmd show for older mod_jk versions
+            hconn = openConnection(url + "?cmd=list&mime=xml", username, password);
             Digester digester = JkStatusParser.getDigester();
             synchronized (digester) {
                 status = (JkStatus) digester.parse(hconn.getInputStream());
@@ -83,7 +87,7 @@
      * @param url
      * @param username
      * @param password
-     * @return
+     * @return HttpConnection
      * @throws IOException
      * @throws MalformedURLException
      * @throws ProtocolException

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusParser.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusParser.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusParser.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -20,6 +21,7 @@
 import org.apache.tomcat.util.digester.Digester;
 
 /**
+ * mod_jk 1.2.19 document:<br/>
  * <code>
  *
  *  &lt;?xml version="1.0" encoding="UTF-8" ?&gt;
@@ -35,10 +37,98 @@
  *    &lt;/jk:balancer&gt;
  *    &lt;/jk:balancers&gt;
  *  &lt;/jk:status&gt;
+ * </code>
+ * <br/>
+ * mod_jk 1.2.20 document:<br/>
+ * <code>
+ * &lt;?xml version="1.0" encoding="UTF-8" ?&gt;
+ * &lt;jk:status xmlns:jk="http://tomcat.apache.org"&gt;
+ * &lt;jk:server
+ *  name="127.0.0.1"
+ *  port="2080"
+ *  software="Apache/2.0.59 (Unix) mod_jk/1.2.20-dev"
+ *  version="1.2.20"/&gt;
+ * &lt;jk:balancers&gt;
+ *   &lt;jk:balancer
+ *    name="loadbalancer"
+ *    type="lb"
+ *    sticky="True"
+ *    stickyforce="False"
+ *    retries="2"
+ *    recover="60"
+ *    method="Request"
+ *    lock="Optimistic"
+ *    good="2"
+ *    degraded="0"
+ *    bad="0"
+ *    busy="0"
+ *    max_busy="0"&gt;
+ *      &lt;jk:member
+ *        name="node01"
+ *        type="ajp13"
+ *        host="localhost"
+ *        port="7309"
+ *        address="127.0.0.1:7309"
+ *        activation="ACT"
+ *        lbfactor="1"
+ *        jvm_route="node01"
+ *        redirect=""
+ *        domain=""
+ *        distance="0"
+ *        state="N/A"
+ *        lbmult="1"
+ *        lbvalue="0"
+ *        elected="0"
+ *        errors="0"
+ *        clienterrors="0"
+ *        transferred="0"
+ *        readed="0"
+ *        busy="0"
+ *        maxbusy="0"
+ *        time-to-recover="0"/&gt;
+ *      &lt;jk:member
+ *        name="node02"
+ *        type="ajp13"
+ *        host="localhost"
+ *        port="7409"
+ *        address="127.0.0.1:7409"
+ *        activation="ACT"
+ *        lbfactor="1"
+ *        jvm_route="node02"
+ *        redirect=""
+ *        domain=""
+ *        distance="0"
+ *        state="N/A"
+ *        lbmult="1"
+ *        lbvalue="0"
+ *        elected="0"
+ *        errors="0"
+ *        clienterrors="0"
+ *        transferred="0"
+ *        readed="0"
+ *        busy="0"
+ *        maxbusy="0"
+ *        time-to-recover="0"/&gt;
+ *      &lt;jk:map
+ *        type="Wildchar"
+ *        uri="/ClusterTest*"
+ *        source="JkMount"/&gt;
+ *      &lt;jk:map
+ *        type="Wildchar"
+ *        uri="/myapps*"
+ *        source="JkMount"/&gt;
+ *      &lt;jk:map
+ *        type="Wildchar"
+ *        uri="/last*"
+ *        source="JkMount"/&gt;
+ *  &lt;/jk:balancer&gt;
+ * &lt;/jk:balancers&gt;
+ * &lt;/jk:status&gt;
  *
+ *
  * </code>
  * @author Peter Rossbach
- * @version $Revision:$ $Date:$
+ * @version $Revision: 485242 $ $Date: 2006-12-10 12:45:39 -0700 (Sun, 10 Dec 2006) $
  * @since 5.5.10
  */
 public class JkStatusParser {
@@ -90,6 +180,18 @@
         digester.addSetNext("jk:status/jk:server", "setServer",
                 "org.apache.jk.status.JkServer");
 
+        digester.addObjectCreate("jk:status/jk:software",
+                "org.apache.jk.status.JkSoftware", "className");
+        digester.addSetProperties("jk:status/jk:software");
+        digester.addSetNext("jk:status/jk:software", "setSoftware",
+                "org.apache.jk.status.JkSoftware");
+
+        digester.addObjectCreate("jk:status/jk:result",
+                "org.apache.jk.status.JkResult", "className");
+        digester.addSetProperties("jk:status/jk:result");
+        digester.addSetNext("jk:status/jk:result", "setResult",
+                "org.apache.jk.status.JkResult");
+
         digester.addObjectCreate("jk:status/jk:balancers/jk:balancer",
                 "org.apache.jk.status.JkBalancer", "className");
         digester.addSetProperties("jk:status/jk:balancers/jk:balancer");

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusResetTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusResetTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusResetTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,21 +20,26 @@
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 
-import org.apache.catalina.ant.AbstractCatalinaTask;
 import org.apache.tools.ant.BuildException;
 
 /**
- * Ant task that implements the <code>/jkstatus?cmd=reset&amp;l=loadbalancer</code> command, supported by the
- * mod_jk status (1.2.15) application.
+ * Ant task that implements the <code>/jkstatus?cmd=reset&amp;w=loadbalancer</code> command, supported by the
+ * mod_jk status (1.2.20) application.
  * 
  * @author Peter Rossbach
- * @version $Revision: 1.3 $
- * @since 5.5.13
+ * @version $Revision: 485242 $
+ * @since mod_jk 1.2.20
  */
-public class JkStatusResetTask extends AbstractCatalinaTask {
+public class JkStatusResetTask extends AbstractJkStatusTask {
 
-    private String workerLb;
+	/**
+     * The descriptive information about this implementation.
+     */
+    private static final String info = "org.apache.jk.status.JkStatusResetTask/1.1";
 
+    private String worker;
+    private String loadbalancer;
+
     /**
      *  
      */
@@ -43,52 +49,71 @@
     }
 
     /**
-     * @return Returns the workerLb.
+     * Return descriptive information about this implementation and the
+     * corresponding version number, in the format
+     * <code>&lt;description&gt;/&lt;version&gt;</code>.
      */
-    public String getWorkerLb() {
-        return workerLb;
-    }
+    public String getInfo() {
 
-    /**
-     * @param workerLb
-     *            The workerLb to set.
-     */
-    public void setWorkerLb(String workerLb) {
-        this.workerLb = workerLb;
+        return (info);
+
     }
-
+    
     /**
-     * Execute the requested operation.
-     * 
-     * @exception BuildException
-     *                if an error occurs
-     */
-    public void execute() throws BuildException {
+	 * @return the loadbalancer
+	 */
+	public String getLoadbalancer() {
+		return loadbalancer;
+	}
 
-        super.execute();
-        checkParameter();
-        StringBuffer sb = createLink();
-        execute(sb.toString(), null, null, -1);
 
-    }
+	/**
+	 * @param loadbalancer the loadbalancer to set
+	 */
+	public void setLoadbalancer(String loadbalancer) {
+		this.loadbalancer = loadbalancer;
+	}
 
-    /**
+
+	/**
+	 * @return the worker
+	 */
+	public String getWorker() {
+		return worker;
+	}
+
+
+	/**
+	 * @param worker the worker to set
+	 */
+	public void setWorker(String worker) {
+		this.worker = worker;
+	}
+
+
+	/**
      * Create jkstatus reset link
      * <ul>
-     * <li><b>load balance example:
-     * </b>http://localhost/jkstatus?cmd=reset&w=loadbalancer&mime=txt</li>
+     * <li><b>loadbalancer example:
+     * </b>http://localhost/jkstatus?cmd=reset&mime=txt&w=loadbalancer</li>
+     * <li><b>loadbalancer + sub worker example:
+     * </b>http://localhost/jkstatus?cmd=reset&mime=txt&w=loadbalancer&sw=node01</li>
      * </ul>
      * 
-     * @return create jkstatus link
+     * @return create jkstatus reset link
      */
-    private StringBuffer createLink() {
+    protected StringBuffer createLink() {
         // Building URL
         StringBuffer sb = new StringBuffer();
         try {
             sb.append("?cmd=reset");
+            sb.append("&mime=txt");
             sb.append("&w=");
-            sb.append(URLEncoder.encode(workerLb, getCharset()));
-            sb.append("&mime=txt");
+            sb.append(URLEncoder.encode(loadbalancer, getCharset()));
+            if(worker != null) {
+                sb.append("&sw=");
+            	sb.append(URLEncoder.encode(worker, getCharset()));        	
+        	}
 
         } catch (UnsupportedEncodingException e) {
             throw new BuildException("Invalid 'charset' attribute: "
@@ -98,11 +123,11 @@
     }
 
     /**
-     * check correct lb and worker pararmeter
+     * check correct pararmeter
      */
     protected void checkParameter() {
-        if (workerLb == null) {
-            throw new BuildException("Must specify 'workerLb' attribute");
+        if (loadbalancer == null) {
+            throw new BuildException("Must specify 'loadbalanacer' attribute");
         }
     }
 }

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * by the mod_jk status (1.2.13) application.
  * 
  * @author Peter Rossbach
- * @version $Revision:$
+ * @version $Revision: 502062 $
  * @since 5.5.10
  */
 public class JkStatusTask extends BaseRedirectorHelperTask {
@@ -37,7 +38,7 @@
     /**
      * The descriptive information about this implementation.
      */
-    private static final String info = "org.apache.jk.status.JkStatusTask/1.1";
+    private static final String info = "org.apache.jk.status.JkStatusTask/1.2";
 
     /**
      * Store status as <code>resultProperty</code> prefix.
@@ -180,17 +181,34 @@
         try {
             JkStatusAccessor accessor = new JkStatusAccessor();
             JkStatus status = accessor.status(url, username, password);
+            if (status.result != null && !"OK".equals(status.result.type) ) {
+                if (getErrorProperty() != null) {
+                    getProject().setNewProperty(errorProperty, status.result.message);
+                }
+                if (isFailOnError()) {
+                    throw new BuildException(status.result.message);
+                } else {
+                    handleErrorOutput(status.result.message);
+                    return;
+                }
+
+            }
+            
             if (!isWorkerOnly && !isLoadbalancerOnly) {
                 JkServer server = status.getServer();
+                JkSoftware software = status.getSoftware();
+                JkResult result = status.getResult();
                 if (resultproperty != null) {
-                    createProperty(server, "name");
-                    createProperty(server, "port");
-                    createProperty(server, "version");
-                    createProperty(server, "software");
+                    createProperty(server, "server", "name");
+                    createProperty(server, "server", "port");
+                    createProperty(software, "web_server");
+                    createProperty(software, "jk_version");
+                    createProperty(result, "result", "type");
+                    createProperty(result, "result", "message");
                 }
                 if (isEcho()) {
-                    handleOutput("server name=" + server.getName() + "."
-                            + server.getPort() + " - " + server.getSoftware());
+                    handleOutput("server name=" + server.getName() + ":"
+                            + server.getPort() + " - " + software.getWeb_server() + " - " + software.getJk_version());
                 }
             }
             List balancers = status.getBalancers();
@@ -207,9 +225,13 @@
                     }
                 } else {
                     if (!isWorkerOnly) {
-                        if (resultproperty != null) {
-                            balancerIndex = Integer.toString(balancer.getId());
-                            setPropertyBalancer(balancer,balancerIndex);
+                        if (resultproperty != null) { 
+                        	if ( balancer.getId() >= 0)
+                        		balancerIndex = Integer.toString(balancer.getId());
+                        	else
+                        		balancerIndex = balancer.getName() ;
+                        	
+                        	setPropertyBalancer(balancer,balancerIndex);
                         }
                         echoBalancer(balancer);
                     }
@@ -228,7 +250,7 @@
                             }
                         } else {
                             if (resultproperty != null) {
-                                setPropertyWorker(balancerIndex, member);
+                                setPropertyWorker(null, member);
                             }
                             echoWorker(member);
                             if (member.getStatus() != null && !"OK".equals(member.getStatus())) {
@@ -246,37 +268,61 @@
                     if (!isWorkerOnly) {
                         if (resultproperty != null && members.size() > 0) {
                             getProject().setNewProperty(
-                                    resultproperty + ".balancer."
-                                            + balancerIndex + ".member.length",
+                                    resultproperty + "."
+                                            + balancer.getName() + ".length",
                                     Integer.toString(members.size()));
                         }
                         List mappings = balancer.getBalancerMappings();
                         int j = 0;
+                        String mapIndex ;
+                        if( balancerIndex != null )
+                        	mapIndex = balancerIndex + ".map" ;
+                        else
+                        	mapIndex = "map" ;
                         for (Iterator iterator = mappings.iterator(); iterator
                                 .hasNext(); j++) {
                             JkBalancerMapping mapping = (JkBalancerMapping) iterator
                                     .next();
                             if (resultproperty != null) {
-                                String stringIndex2 = Integer.toString(j);
-                                createProperty(mapping, balancerIndex,
+                            	String stringIndex2 ;
+                                if( mapping.getId() >= 0) {
+                                    stringIndex2 =  Integer.toString(mapping.getId()) ;
+                                } else {
+                                    stringIndex2 = Integer.toString(j);
+                                }                       	
+                                createProperty(mapping, mapIndex,
                                         stringIndex2, "type");
-                                createProperty(mapping, balancerIndex,
+                                createProperty(mapping, mapIndex,
                                         stringIndex2, "uri");
-                                createProperty(mapping, balancerIndex,
+                                createProperty(mapping, mapIndex,
                                         stringIndex2, "context");
+                                createProperty(mapping, mapIndex,
+                                        stringIndex2, "source");
                             }
                             if (isEcho()) {
-                                handleOutput("balancer name="
+                            	String mappingOut ;
+                            	
+                            	if(mapping.source != null) {
+                            		mappingOut =
+                            			"balancer name="
                                         + balancer.getName() + " mappingtype="
                                         + mapping.getType() + " uri="
+                                        + mapping.getUri() + " source="
+                                        + mapping.getSource() ;
+                            	} else {
+                            		mappingOut = "balancer name="
+                                        + balancer.getName() + " mappingtype="
+                                        + mapping.getType() + " uri="
                                         + mapping.getUri() + " context="
-                                        + mapping.getContext());
+                                        + mapping.getContext() ;
+                            	}
+                            	handleOutput(mappingOut);
                             }
                         }
                         if (resultproperty != null && mappings.size() > 0) {
                             getProject().setNewProperty(
-                                    resultproperty + ".balancer."
-                                            + balancerIndex + ".map.length",
+                                    resultproperty + "."
+                                            + mapIndex + ".length",
                                     Integer.toString(mappings.size()));
                         }
                     }
@@ -285,7 +331,7 @@
             if (!isWorkerOnly && !isLoadbalancerOnly) {
                 if (resultproperty != null && balancers.size() > 0) {
                     getProject().setNewProperty(
-                            resultproperty + ".balancer.length",
+                            resultproperty + ".length",
                             Integer.toString(balancers.size()));
                 }
             }
@@ -350,17 +396,42 @@
      */
     private void setPropertyBalancerOnly(JkBalancer balancer) {
         String prefix = resultproperty + "." + balancer.getName();
-        getProject().setNewProperty(prefix + ".id",
+        if(balancer.getId() >= 0 ) {
+        	getProject().setNewProperty(prefix + ".id",
                 Integer.toString(balancer.getId()));
+        }
         getProject().setNewProperty(prefix + ".type", balancer.getType());
-        getProject().setNewProperty(prefix + ".sticky",
-                Boolean.toString(balancer.isSticky()));
-        getProject().setNewProperty(prefix + ".stickyforce",
-                Boolean.toString(balancer.isStickyforce()));
+        getProject().setNewProperty(prefix + ".stick_session",
+                Boolean.toString(balancer.isSticky_session()));
+        getProject().setNewProperty(prefix + ".sticky_session_force",
+                Boolean.toString(balancer.isSticky_session_force()));
         getProject().setNewProperty(prefix + ".retries",
                 Integer.toString(balancer.getRetries()));
-        getProject().setNewProperty(prefix + ".recover",
-                Integer.toString(balancer.getRecover()));
+        getProject().setNewProperty(prefix + ".recover_time",
+                Integer.toString(balancer.getRecover_time()));
+        getProject().setNewProperty(prefix + ".method",
+                balancer.getMethod());
+        getProject().setNewProperty(prefix + ".good",
+                Integer.toString(balancer.getGood()));
+        getProject().setNewProperty(prefix + ".degraded",
+                Integer.toString(balancer.getDegraded()));
+        getProject().setNewProperty(prefix + ".bad",
+                Integer.toString(balancer.getBad()));
+        getProject().setNewProperty(prefix + ".busy",
+                Integer.toString(balancer.getBusy()));
+        getProject().setNewProperty(prefix + ".map_count",
+                Integer.toString(balancer.getMap_count()));
+        getProject().setNewProperty(prefix + ".member_count",
+                Integer.toString(balancer.getMember_count()));
+        getProject().setNewProperty(prefix + ".max_busy",
+                Integer.toString(balancer.getMax_busy()));
+        getProject().setNewProperty(prefix + ".time_to_maintenance_min",
+                Integer.toString(balancer.getTime_to_maintenance_min()));
+        getProject().setNewProperty(prefix + ".time_to_maintenance_max",
+                Integer.toString(balancer.getTime_to_maintenance_max()));
+        getProject().setNewProperty(prefix + ".lock",
+                balancer.getLock());
+ 
     }
 
     /**
@@ -368,23 +439,64 @@
      * @return
      */
     private void setPropertyBalancer(JkBalancer balancer,String balancerIndex) {
-        createProperty(balancer, balancerIndex, "id");
+     	if(balancer.id >= 0) {
+    		createProperty(balancer, balancerIndex, "id");
+    	}
+
         createProperty(balancer, balancerIndex, "name");
         createProperty(balancer, balancerIndex, "type");
-        createProperty(balancer, balancerIndex, "sticky");
-        createProperty(balancer, balancerIndex, "stickyforce");
+        createProperty(balancer, balancerIndex, "sticky_session");
+        createProperty(balancer, balancerIndex, "sticky_session_force");
         createProperty(balancer, balancerIndex, "retries");
-        createProperty(balancer, balancerIndex, "recover");
-    }
+        createProperty(balancer, balancerIndex, "recover_time");
+        if(balancer.getMethod() != null) {
+        	createProperty(balancer, balancerIndex, "method");
+        }
+        if(balancer.getLock() != null) {
+        	createProperty(balancer, balancerIndex, "lock");
+        }
+        if(balancer.getGood() >= 0) {
+        	createProperty(balancer, balancerIndex, "good");
+        }
+        if(balancer.getDegraded() >= 0) {
+        	createProperty(balancer, balancerIndex, "degraded");
+        }
+        if(balancer.getBad() >= 0) {
+        	createProperty(balancer, balancerIndex, "bad");
+        }
+        if(balancer.getBusy() >= 0) {
+        	createProperty(balancer, balancerIndex, "busy");
+        }
+        if(balancer.getMax_busy() >= 0) {
+        	createProperty(balancer, balancerIndex, "max_busy");
+        }
+        if(balancer.getMember_count() >=0) {
+        	createProperty(balancer, balancerIndex, "member_count");
+        }
+        if(balancer.getMap_count() >=0) {
+        	createProperty(balancer, balancerIndex, "map_count");
+        }
+        if(balancer.getTime_to_maintenance_min() >=0) {
+        	createProperty(balancer, balancerIndex, "time_to_maintenance_min");
+        }
+        if(balancer.getTime_to_maintenance_max() >=0) {
+        	createProperty(balancer, balancerIndex, "time_to_maintenance_max");
+        }
+   }
 
     /**
      * @param balancerIndex
      * @param member
      */
     private void setPropertyWorker(String balancerIndex, JkBalancerMember member) {
-        String workerIndex = Integer.toString(member.getId());
-        createProperty(member, balancerIndex, workerIndex, "id");
-        createProperty(member, balancerIndex, workerIndex, "name");
+        String workerIndex ;
+        if(member.getId() >= 0) {
+        	workerIndex = Integer.toString(member.getId());
+            createProperty(member, balancerIndex, workerIndex, "id");
+            createProperty(member, balancerIndex, workerIndex, "name");
+        } else {
+        	workerIndex = member.getName();
+        }
         createProperty(member, balancerIndex, workerIndex, "type");
         createProperty(member, balancerIndex, workerIndex, "host");
         createProperty(member, balancerIndex, workerIndex, "port");
@@ -392,6 +504,9 @@
         if(member.getJvm_route() != null) {
             createProperty(member, balancerIndex, workerIndex, "jvm_route");
         }
+        if(member.getRoute() != null) {
+            createProperty(member, balancerIndex, workerIndex, "route");
+        }       
         if(member.getStatus() != null) {
             createProperty(member, balancerIndex, workerIndex, "status");
         }
@@ -403,33 +518,33 @@
         }
         createProperty(member, balancerIndex, workerIndex, "lbfactor");
         createProperty(member, balancerIndex, workerIndex, "lbvalue");
-        if(member.getLbmult() > 0) {
+        if(member.getLbmult() >= 0) {
             createProperty(member, balancerIndex, workerIndex, "lbmult");
         }
         createProperty(member, balancerIndex, workerIndex, "elected");
         createProperty(member, balancerIndex, workerIndex, "readed");
         createProperty(member, balancerIndex, workerIndex, "busy");
-        if(member.getMaxbusy() > 0) {
-            createProperty(member, balancerIndex, workerIndex, "maxbusy");
+        if(member.getMax_busy() >= 0) {
+            createProperty(member, balancerIndex, workerIndex, "max_busy");
         }
         createProperty(member, balancerIndex, workerIndex, "transferred");
         createProperty(member, balancerIndex, workerIndex, "errors");
-        if(member.getClienterrors() > 0) {
-            createProperty(member, balancerIndex, workerIndex, "clienterrors");
+        if(member.getClient_errors() >= 0) {
+            createProperty(member, balancerIndex, workerIndex, "client_errors");
         }
-        if(member.getDistance() > 0) {
+        if(member.getDistance() >= 0) {
             createProperty(member, balancerIndex, workerIndex, "distance");
         }
         if (member.getDomain() != null) {
             createProperty(member, balancerIndex, workerIndex, "domain");
         } else {
-            getProject().setNewProperty(resultproperty + ".balancer." + balancerIndex + ".member." + workerIndex +
+            getProject().setNewProperty(resultproperty + "." + balancerIndex + "." + workerIndex +
                     ".domain", "");          
         }
         if (member.getRedirect() != null) {
             createProperty(member, balancerIndex, workerIndex, "redirect");
         } else {
-            getProject().setNewProperty(resultproperty + ".balancer." + balancerIndex + ".member." + workerIndex +
+            getProject().setNewProperty(resultproperty + "." + balancerIndex + "." + workerIndex +
                     ".redirect", "");          
         }
     }
@@ -440,25 +555,32 @@
      */
     private void setPropertyWorkerOnly(JkBalancer balancer,
             JkBalancerMember member) {
+        //String prefix = resultproperty + "." + balancer.getName() + "." + member.getName();
         String prefix = resultproperty + "." + member.getName();
-        Project currentProject = getProject();
-        
-        currentProject.setNewProperty(prefix + ".lb.id",
+               Project currentProject = getProject();
+        if ( balancer.getId() >= 0) { 
+        	currentProject.setNewProperty(prefix + ".lb.id",
                 Integer.toString(balancer.getId()));
-        currentProject.setNewProperty(prefix + ".lb.name", balancer.getName());
-        currentProject.setNewProperty(prefix + ".id",
+        }
+        //currentProject.setNewProperty(prefix + ".lb.name", balancer.getName());
+        if( member.getId() >= 0) {
+        	currentProject.setNewProperty(prefix + ".id",
                 Integer.toString(member.getId()));
+        }
         currentProject.setNewProperty(prefix + ".type", member.getType());
-        if(member.getJvm_route() != null) {
+        if (member.getJvm_route() != null) {
             currentProject.setNewProperty(prefix + ".jvm_route", member.getJvm_route());
         }
-        if(member.getStatus() != null) {
+        if (member.getRoute() != null) {
+            currentProject.setNewProperty(prefix + ".route", member.getRoute());
+        }
+        if (member.getStatus() != null) {
             currentProject.setNewProperty(prefix + ".status", member.getStatus());
         }
-        if(member.getActivation() != null) {
+        if (member.getActivation() != null) {
             currentProject.setNewProperty(prefix + ".activation", member.getActivation());
         }
-        if(member.getState() != null) {
+        if (member.getState() != null) {
             currentProject.setNewProperty(prefix + ".state", member.getState());
         }
         currentProject.setNewProperty(prefix + ".host", member.getHost());
@@ -469,7 +591,7 @@
                 Integer.toString(member.getLbfactor()));
         currentProject.setNewProperty(prefix + ".lbvalue",
                 Long.toString(member.getLbvalue()));
-        if(member.getLbmult() > 0) {
+        if(member.getLbmult() >= 0) {
             currentProject.setNewProperty(prefix + ".lbmult",
                     Long.toString(member.getLbmult()));
         }
@@ -481,29 +603,46 @@
                 Long.toString(member.getTransferred()));
         currentProject.setNewProperty(prefix + ".busy",
                 Integer.toString(member.getBusy()));
-        if(member.getMaxbusy() > 0) {
-            currentProject.setNewProperty(prefix + ".maxbusy",
-                    Long.toString(member.getMaxbusy()));
+        if(member.getMax_busy() >= 0) {
+            currentProject.setNewProperty(prefix + ".max_busy",
+                    Long.toString(member.getMax_busy()));
         }
         currentProject.setNewProperty(prefix + ".errors",
                 Long.toString(member.getErrors()));
-        if(member.getClienterrors() > 0) {
-            currentProject.setNewProperty(prefix + ".clienterrors",
-                    Long.toString(member.getClienterrors()));
+        if(member.getClient_errors() >= 0) {
+            currentProject.setNewProperty(prefix + ".client_errors",
+                    Long.toString(member.getClient_errors()));
         }
-        if(member.getDistance() > 0) {
+        if(member.getDistance() >= 0) {
             currentProject.setNewProperty(prefix + ".distance",
                     Integer.toString(member.getDistance()));
         }
-        if (member.getDomain() != null)
+        if (member.getDomain() != null) {
             currentProject.setNewProperty(prefix + ".domain", member.getDomain());
-        else
+        } else {
             currentProject.setNewProperty(prefix + ".domain", "");
-        if (member.getRedirect() != null)
+        }
+        if (member.getRedirect() != null) {
             currentProject.setNewProperty(prefix + ".redirect",
                     member.getRedirect());
-        else
+        } else {
             currentProject.setNewProperty(prefix + ".redirect", "");
+        }
+        if(member.getTime_to_recover() >= 0) {
+            currentProject.setNewProperty(prefix + ".time_to_recover",
+                    Integer.toString(member.getTime_to_recover()));
+        }
+        if(member.getTime_to_recover_min() >= 0) {
+            currentProject.setNewProperty(prefix + ".time_to_recover_min",
+                    Integer.toString(member.getTime_to_recover_min()));
+        }
+        if(member.getTime_to_recover_max() >= 0) {
+            currentProject.setNewProperty(prefix + ".time_to_recover_max",
+                    Integer.toString(member.getTime_to_recover_max()));
+            currentProject.setNewProperty(prefix + ".time_to_recover",
+                    (Integer.toString((member.getTime_to_recover_min()
+                            + member.getTime_to_recover_max()) / 2)));
+        }
             
     }
 
@@ -540,36 +679,43 @@
             String arraymark2, String attribute) {
         if (resultproperty != null) {
             Object value = IntrospectionUtils.getProperty(result, attribute);
-            if (value != null) {
+            if (value != null ) {
                 StringBuffer propertyname = new StringBuffer(resultproperty);
 
-                if (result instanceof JkServer) {
-                    propertyname.append(".server");
-                } else if (result instanceof JkBalancer) {
-                    propertyname.append(".balancer");
+                if (result instanceof JkBalancer) {
                     if (arraymark != null) {
                         propertyname.append(".");
                         propertyname.append(arraymark);
                     }
+                } else if (result instanceof JkServer) {
+					if (arraymark != null) {
+						propertyname.append(".");
+						propertyname.append(arraymark);
+					}
+                } else if (result instanceof JkSoftware) {
+					if (arraymark != null) {
+						propertyname.append(".");
+						propertyname.append(arraymark);
+					}
+				} else if (result instanceof JkResult) {
+					if (arraymark != null) {
+						propertyname.append(".");
+						propertyname.append(arraymark);
+					}
                 } else if (result instanceof JkBalancerMember) {
-                    propertyname.append(".balancer");
                     if (arraymark != null) {
                         propertyname.append(".");
                         propertyname.append(arraymark);
                     }
-                    propertyname.append(".member");
                     if (arraymark2 != null) {
                         propertyname.append(".");
                         propertyname.append(arraymark2);
                     }
-
                 } else if (result instanceof JkBalancerMapping) {
-                    propertyname.append(".balancer");
                     if (arraymark != null) {
                         propertyname.append(".");
                         propertyname.append(arraymark);
                     }
-                    propertyname.append(".map");
                     if (arraymark2 != null) {
                         propertyname.append(".");
                         propertyname.append(arraymark2);

Added: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateLoadbalancerTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateLoadbalancerTask.java	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateLoadbalancerTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,287 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jk.status;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
+import org.apache.tools.ant.BuildException;
+
+/**
+ * Ant task that implements the <code>/status</code> update loadbalancer command, supported by the
+ * mod_jk status (1.2.20) application.
+ * 
+ * 
+ * @author Peter Rossbach
+ * @version $Revision:$
+ * @since mod_jk 1.2.20
+ */
+public class JkStatusUpdateLoadbalancerTask extends AbstractJkStatusTask {
+
+    /**
+     * The descriptive information about this implementation.
+     */
+    private static final String info = "org.apache.jk.status.JkStatusUpdateLoadbalancerTask/1.0";
+
+    protected String loadbalancer ;
+    
+    protected int retries = -1;
+    protected int recoverWaitTime = -1;
+    protected int methodCode = -1;
+    protected String method;
+
+    protected Boolean stickySession ;
+    
+    protected Boolean forceStickySession ;
+   
+    protected int lockCode = -1;
+    protected String lock;
+
+    /**
+     * Return descriptive information about this implementation and the
+     * corresponding version number, in the format
+     * <code>&lt;description&gt;/&lt;version&gt;</code>.
+     */
+    public String getInfo() {
+
+        return (info);
+
+    }
+    
+    /**
+     *  
+     */
+    public JkStatusUpdateLoadbalancerTask() {
+        super();
+        setUrl("http://localhost/jkstatus");
+    }
+ 
+    /**
+	 * @return the forceStickySession
+	 */
+	public Boolean getForceStickySession() {
+		return forceStickySession;
+	}
+
+	/**
+	 * @param forceStickySession the forceStickySession to set
+	 */
+	public void setForceStickySession(Boolean forceStickySession) {
+		this.forceStickySession = forceStickySession;
+	}
+
+	/**
+	 * @return the loadbalancer
+	 */
+	public String getLoadbalancer() {
+		return loadbalancer;
+	}
+
+	/**
+	 * @param loadbalancer the loadbalancer to set
+	 */
+	public void setLoadbalancer(String loadbalancer) {
+		this.loadbalancer = loadbalancer;
+	}
+
+
+	/**
+	 * @return the locking
+	 */
+	public String getLock() {
+		return lock;
+	}
+
+	/**
+	 * @param locking the locking to set
+	 */
+	public void setLock(String locking) {
+		this.lock = locking;
+	}
+
+	/**
+	 * @return the lockingCode
+	 */
+	public int getLockCode() {
+		return lockCode;
+	}
+
+	/**
+	 * @param lockingCode the lockingCode to set
+	 */
+	public void setLockCode(int lockingCode) {
+		this.lockCode = lockingCode;
+	}
+
+	/**
+	 * @return the method
+	 */
+	public String getMethod() {
+		return method;
+	}
+
+	/**
+	 * @param method the method to set
+	 */
+	public void setMethod(String method) {
+		this.method = method;
+	}
+
+	/**
+	 * @return the methodCode
+	 */
+	public int getMethodCode() {
+		return methodCode;
+	}
+
+	/**
+	 * @param methodCode the methodCode to set
+	 */
+	public void setMethodCode(int methodCode) {
+		this.methodCode = methodCode;
+	}
+
+	/**
+	 * @return the recoverWaitTime
+	 */
+	public int getRecoverWaitTime() {
+		return recoverWaitTime;
+	}
+
+	/**
+	 * @param recoverWaitTime the recoverWaitTime to set
+	 */
+	public void setRecoverWaitTime(int recoverWaitTime) {
+		this.recoverWaitTime = recoverWaitTime;
+	}
+
+	/**
+	 * @return the retries
+	 */
+	public int getRetries() {
+		return retries;
+	}
+
+	/**
+	 * @param retries the retries to set
+	 */
+	public void setRetries(int retries) {
+		this.retries = retries;
+	}
+
+	/**
+	 * @return the stickySession
+	 */
+	public Boolean getStickySession() {
+		return stickySession;
+	}
+
+	/**
+	 * @param stickySession the stickySession to set
+	 */
+	public void setStickySession(Boolean stickySession) {
+		this.stickySession = stickySession;
+	}
+
+	/**
+     * Create JkStatus worker update link
+     * <ul>
+     * </b>http://localhost/jkstatus?cmd=update&mime=txt&w=loadbalancer&lm=1&ll=1&lr=2&lt=60&ls=true&lf=false
+     * <br/>
+     *
+     * 
+     * <br/>Tcp worker parameter:
+     * <br/>
+     * <ul>
+     * <li><b>w:<b/> name loadbalancer</li>
+     * <li><b>lm:<b/> method (lb strategy)</li>
+     * <li><b>ll:<b/> lock</li>
+     * <li><b>lr:<b/> retries</li>
+     * <li><b>lt:<b/> recover wait timeout</li>
+     * <li><b>ls:<b/> sticky session</li>
+     * <li><b>lf:<b/> force sticky session</li>
+     * </ul>
+     * <ul>
+     * <li>lm=1 or Requests</li>
+     * <li>lm=2 or Traffic</li>
+     * <li>lm=3 or Busyness</li>
+     * <li>lm=4 or Sessions</li>
+     * </ul>
+     * <ul>
+     * <li>ll=1 or Optimistic</li>
+     * <li>ll=2 or Pessimistic</li>
+     * </ul>
+     * 
+     * @return create jkstatus update worker link
+     */
+    protected StringBuffer createLink() {
+        // Building URL
+        StringBuffer sb = new StringBuffer();
+        try {
+            sb.append("?cmd=update&mime=txt");
+            sb.append("&w=");
+            sb.append(URLEncoder.encode(loadbalancer, getCharset()));
+            if (stickySession != null) { 
+				sb.append("&ls=");
+				sb.append(stickySession);
+			}
+            if (forceStickySession != null) { 
+ 				sb.append("&lf=");
+ 				sb.append(forceStickySession);
+ 			}
+			if (retries >= 0) {
+				sb.append("&lr=");
+				sb.append(retries);
+			}
+			if (recoverWaitTime >= 0) {
+				sb.append("&lt=");
+				sb.append(recoverWaitTime);
+			}
+			if (method == null && methodCode > 0 && methodCode < 5) {
+				sb.append("&lm=");
+				sb.append(methodCode);
+			}
+            if (method != null) { 
+ 				sb.append("&lm=");
+ 				sb.append(method);
+ 			}
+			if (lock == null && lockCode > 0 && lockCode < 3) {
+				sb.append("&ll=");
+				sb.append(lockCode);
+			}
+            if (lock != null) { 
+ 				sb.append("&ll=");
+ 				sb.append(lock);
+ 			}
+            
+        } catch (UnsupportedEncodingException e) {
+            throw new BuildException("Invalid 'charset' attribute: "
+                    + getCharset());
+        }
+        return sb;
+    }
+
+    /**
+	 * check correct lb and worker pararmeter
+	 */
+    protected void checkParameter() {
+        if (loadbalancer == null) {
+            throw new BuildException("Must specify 'loadbalancer' attribute");
+        }
+    }
+}

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,8 +29,9 @@
  * 
  * 
  * @author Peter Rossbach
- * @version $Revision: 1.3 $
+ * @version $Revision: 485242 $
  * @since 5.5.10
+ * @deprecated
  */
 public class JkStatusUpdateTask extends AbstractCatalinaTask {
 
@@ -357,15 +359,27 @@
      * </b>http://localhost/jkstatus?cmd=update&mime=txt&w=lb&lf=false&ls=true</li>
      * <li><b>worker example:
      * </b>http://localhost/jkstatus?cmd=update&mime=txt&w=node1&wn=node01&l=lb&wf=1&wa=1&wx=0
-     * <br/
+     * <br/>
      * <ul>
-     * <li>wa=1 activation</li>
+     * <li>wa=1 active</li>
      * <li>wa=2 disabled</li>
      * <li>wa=3 stopped</li>
      * </ul>
      * </li>
      * </ul>
+     *
+     * <br/>Loadbalacing parameter:
+     * <br/>
+     * <ul>
+     * <li><b>w:<b/> name lb worker</li>
+     * <li><b>lr:<b/> Number of Retries</li>
+     * <li><b>lt:<b/> recover wait time</li>
+     * <li><b>lf:<b/> Force Sticky Session</li>
+     * <li><b>ls:<b/> Sticky session</li>
+     * </ul>
      * 
+     * <br/>Tcp worker parameter:
+     * <br/>
      * <ul>
      * <li><b>w:<b/> name tcp worker node</li>
      * <li><b>l:<b/> name loadbalancer</li>

Added: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateWorkerTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateWorkerTask.java	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateWorkerTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,291 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jk.status;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
+import org.apache.tools.ant.BuildException;
+
+/**
+ * Ant task that implements the <code>/status</code> update worker command, supported by the
+ * mod_jk status (1.2.20) application.
+ * 
+ * 
+ * @author Peter Rossbach
+ * @version $Revision:$
+ * @since mod_jk 1.2.20
+ */
+public class JkStatusUpdateWorkerTask extends AbstractJkStatusTask {
+
+    /**
+     * The descriptive information about this implementation.
+     */
+    private static final String info = "org.apache.jk.status.JkStatusUpdateWorkerTask/1.0";
+
+    protected String loadbalancer ;
+    
+    protected String worker ;
+
+    protected int loadfactor =-1;
+
+    protected String route ;
+    
+    protected int distance = -1;
+    
+    protected String redirect;
+
+    protected String domain;
+    
+    protected int activationCode = -1;
+
+    protected String activation ;
+
+    /**
+     * Return descriptive information about this implementation and the
+     * corresponding version number, in the format
+     * <code>&lt;description&gt;/&lt;version&gt;</code>.
+     */
+    public String getInfo() {
+
+        return (info);
+
+    }
+    
+    /**
+     *  
+     */
+    public JkStatusUpdateWorkerTask() {
+        super();
+        setUrl("http://localhost/jkstatus");
+    }
+
+	/**
+	 * @return the activation
+	 */
+	public String getActivation() {
+		return activation;
+	}
+
+	/**
+	 * @param activation the activation to set
+	 */
+	public void setActivation(String activation) {
+		this.activation = activation;
+	}
+
+	/**
+	 * @return the activationCode
+	 */
+	public int getActivationCode() {
+		return activationCode;
+	}
+
+	/**
+	 * @param activationCode the activationCode to set
+	 */
+	public void setActivationCode(int activationCode) {
+		this.activationCode = activationCode;
+	}
+
+	/**
+	 * @return the distance
+	 */
+	public int getDistance() {
+		return distance;
+	}
+
+	/**
+	 * @param distance the distance to set
+	 */
+	public void setDistance(int distance) {
+		this.distance = distance;
+	}
+
+	/**
+	 * @return the domain
+	 */
+	public String getDomain() {
+		return domain;
+	}
+
+	/**
+	 * @param domain the domain to set
+	 */
+	public void setDomain(String domain) {
+		this.domain = domain;
+	}
+
+	/**
+	 * @return the loadbalancer
+	 */
+	public String getLoadbalancer() {
+		return loadbalancer;
+	}
+
+	/**
+	 * @param loadbalancer the loadbalaner to set
+	 */
+	public void setLoadbalancer(String loadbalancer) {
+		this.loadbalancer = loadbalancer;
+	}
+
+	/**
+	 * @return the loadfactor
+	 */
+	public int getLoadfactor() {
+		return loadfactor;
+	}
+
+	/**
+	 * @param loadfactor the loadfactor to set
+	 */
+	public void setLoadfactor(int loadfactor) {
+		this.loadfactor = loadfactor;
+	}
+
+	/**
+	 * @return the redirect
+	 */
+	public String getRedirect() {
+		return redirect;
+	}
+
+	/**
+	 * @param redirect the redirect to set
+	 */
+	public void setRedirect(String redirect) {
+		this.redirect = redirect;
+	}
+
+	/**
+	 * @return the route
+	 */
+	public String getRoute() {
+		return route;
+	}
+
+	/**
+	 * @param route the route to set
+	 */
+	public void setRoute(String route) {
+		this.route = route;
+	}
+
+	/**
+	 * @return the worker
+	 */
+	public String getWorker() {
+		return worker;
+	}
+
+	/**
+	 * @param worker the worker to set
+	 */
+	public void setWorker(String worker) {
+		this.worker = worker;
+	}
+
+
+
+    /**
+     * Create JkStatus worker update link
+     * <ul>
+     * </b>http://localhost/jkstatus?cmd=update&mime=txt&w=loadbalancer&sw=node01&wn=node01&l=lb&wf=1&wa=1&wd=0
+     * <br/>
+     *
+     * 
+     * <br/>Tcp worker parameter:
+     * <br/>
+     * <ul>
+     * <li><b>w:<b/> name loadbalancer</li>
+     * <li><b>sw:<b/> name tcp worker node</li>
+     * <li><b>wf:<b/> load factor</li>
+     * <li><b>wn:<b/> route</li>
+     * <li><b>wd:<b/> distance</li>
+     * <li><b>wa:<b/> activation state</li>
+     * <li><b>wr:<b/> redirect route</li>
+     * <li><b>wc:<b/> cluster domain</li>
+     * </ul>
+     * <ul>
+     * <li>wa=1 active</li>
+     * <li>wa=2 disabled</li>
+     * <li>wa=3 stopped</li>
+     * </ul>
+     * </li>
+     * </ul>
+     * 
+     * @return create jkstatus update worker link
+     */
+    protected StringBuffer createLink() {
+        // Building URL
+        StringBuffer sb = new StringBuffer();
+        try {
+            sb.append("?cmd=update&mime=txt");
+            sb.append("&w=");
+            sb.append(URLEncoder.encode(loadbalancer, getCharset()));
+            sb.append("&sw=");
+            sb.append(URLEncoder.encode(worker, getCharset()));
+            if (loadfactor >= 0) {
+				sb.append("&wf=");
+				sb.append(loadfactor);
+			}
+			if (route != null) {
+				sb.append("&wn=");
+				sb.append(URLEncoder.encode(route, getCharset()));
+			}
+			if (activation == null && activationCode > 0 && activationCode < 4) {
+				sb.append("&wa=");
+				sb.append(activation);
+			}
+			if (activation != null) {
+				sb.append("&wa=");
+				sb.append(URLEncoder.encode(activation, getCharset()));
+			}
+			if (distance >= 0) {
+				sb.append("&wd=");
+				sb.append(distance);
+			}
+			if (redirect != null) { // other worker conrecte lb's
+				sb.append("&wr=");
+				sb.append(URLEncoder.encode(redirect, getCharset()));
+			}
+			if (domain != null) {
+				sb.append("&wc=");
+				sb.append(URLEncoder.encode(domain, getCharset()));
+			}
+            
+        } catch (UnsupportedEncodingException e) {
+            throw new BuildException("Invalid 'charset' attribute: "
+                    + getCharset());
+        }
+        return sb;
+    }
+
+    /**
+	 * check correct lb and worker pararmeter
+	 */
+    protected void checkParameter() {
+        if (worker == null) {
+            throw new BuildException("Must specify 'worker' attribute");
+        }
+        if (loadbalancer == null) {
+            throw new BuildException("Must specify 'loadbalancer' attribute");
+        }
+    }
+}

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/antlib.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/antlib.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/antlib.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,6 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <antlib>
   <typedef
+        name="updateworker"
+        classname="org.apache.jk.status.JkStatusUpdateWorkerTask" />
+  <typedef
+        name="updateloadbalancer"
+        classname="org.apache.jk.status.JkStatusUpdateLoadbalancerTask" />
+  <typedef
         name="update"
         classname="org.apache.jk.status.JkStatusUpdateTask" />
   <typedef

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/jkstatus.tasks
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/jkstatus.tasks	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/jkstatus.tasks	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,4 +1,6 @@
 # Apache mod_jk jk status tasks
+jkUpdateWorker=org.apache.jk.status.JkStatusUpdateWorkerTask
+jkUpdateLoadbalancer=org.apache.jk.status.JkStatusUpdateLoadbalancerTask
 jkUpdate=org.apache.jk.status.JkStatusUpdateTask
 jkReset=org.apache.jk.status.JkStatusResetTask
 jkStatus=org.apache.jk.status.JkStatusTask

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/package.html
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/package.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/package.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -11,6 +11,7 @@
 sent directly to jk status page.  They are summarized as follows:
 </p>
 
+<b>General parameter</b><br/>
 <table>
   <tr>
     <th align="center" width="15%">Attribute</th>
@@ -29,16 +30,179 @@
     <td align="center">username</td>
     <td>
       The username of a mod_jk status user that has been configured with the
-      <code>Allow user</code> Apache Location constraint.  This attribute is optional.
+      <code>Allow user</code> Apache Location constraint. This attribute is optional.
     </td>
   </tr>
   <tr>
     <td align="center">password</td>
     <td>
       The password of a mod_jk status user that has been configured with the
-      <code>Allow user</code> Apache Location constraint.  This attribute is optional.
+      <code>Allow user</code> Apache Location constraint. This attribute is optional.
     </td>
   </tr>
+  <tr>
+    <td align="center">resultProperty</td>
+    <td>
+    	  Bind all show results with this prefix property name. This attribute is optional.
+    </td>
+  </tr>
+  <tr>
+    <td align="center">echo</td>
+    <td>
+    	  show result at ant console. (default false)
+    </td>
+  </tr>
+  <tr>
+    <td align="center">errorProperty</td>
+    <td>
+    	  set this property, as a failure detected. This attribute is optional.
+    </td>
+  </tr>
 </table>
 
+<b>Command show parameter</b><br/>
+<table>
+  <tr>
+    <th align="center" width="15%">Attribute</th>
+    <th align="center" width="85%">Description</th>
+  </tr>
+  <tr>
+    <td align="center">worker</td>
+    <td>
+      only bind properties from this balancer tcp worker (node)
+    </td>
+  </tr>
+  <tr>
+    <td align="center">loadbalancer</td>
+    <td>
+      only bind properties from this loadbalancer worker
+    </td>
+  </tr>
+</table>
+
+<b>Command reset parameter</b><br/>
+<table>
+  <tr>
+    <th align="center" width="15%">Attribute</th>
+    <th align="center" width="85%">Description</th>
+  </tr>
+  <tr>
+    <td align="center">workerLb</td>
+    <td>
+      name of loadbalancer worker.
+    </td>
+  </tr>
+</table>
+
+<b>Command update loadbalancer parameter</b><br/>
+<table>
+  <tr>
+    <th align="center" width="15%">Attribute</th>
+    <th align="center" width="85%">Description</th>
+  </tr>
+  <tr>
+    <td align="center">workerType=loadbalancer</td>
+    <td>
+      type of update
+    </td>
+  </tr>
+  <tr>
+    <td align="center">workerLb</td>
+    <td>
+      name of loadbalancer worker.
+    </td>
+  </tr>
+  <tr>
+    <td align="center">lbForceSession</td>
+    <td>
+      Force Sticky Session. (true/false)
+    </td>
+  </tr>
+  <tr>
+    <td align="center">lbStickySession</td>
+    <td>
+      Sticky Session. (true/false)
+    </td>
+  </tr>
+  <tr>
+    <td align="center">lbRetries</td>
+    <td>
+      loadbalancer retries after worker connection failure (int)
+    </td>
+  </tr>
+  <tr>
+    <td align="center">lbRecovertime</td>
+    <td>
+      Recover timeout after a worker set to "error" state (int sec's)
+    </td>
+  </tr>
+</table>
+
+<b>Command update worker parameter</b><br/>
+<table>
+  <tr>
+    <th align="center" width="15%">Attribute</th>
+    <th align="center" width="85%">Description</th>
+  </tr>
+  <tr>
+    <td align="center">workerType=worker</td>
+    <td>
+      type of update
+    </td>
+  </tr>
+  <tr>
+    <td align="center">worker</td>
+    <td>
+      name of tcp worker.
+    </td>
+  </tr>
+  <tr>
+    <td align="center">workerActivation (>=1.2.19</td>
+    <td>
+      set worker activation  (1 Active, 2 Disabled, 3 Stopped)
+    </td>
+  </tr>
+  <tr>
+    <td align="center">workerDisabled (< 1.2.19)</td>
+    <td>
+      set disable state. (true/false)
+    </td>
+  </tr>
+  <tr>
+    <td align="center">workerStoppend (< 1.2.19)</td>
+    <td>
+      set stopped state. (true/false)      
+    </td>
+  </tr>
+  <tr>
+    <td align="center">workerJvmRoute</td>
+    <td>
+      set jvm route
+    </td>
+  </tr>
+  <tr>
+    <td align="center">workerLaodFactor</td>
+    <td>
+      set load factor (int)
+    </td>
+  </tr>
+  <tr>
+    <td align="center">workerDistance</td>
+    <td>
+      set worker distance (int)
+    </td>
+  <tr>
+    <td align="center">workerRedirect</td>
+    <td>
+      other worker name to redirect after failure
+    </td>
+  </tr>
+  <tr>
+    <td align="center">workerClusterDomain</td>
+    <td>
+      cluster domain name, group of worker at a repliation cluster.
+    </td>
+  </tr>
+</table>
+
 </body>

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/test/build.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/test/build.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/test/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!-- @author Peter Rossbach -->
 <project name="JkStatusTestcases" basedir="." default="test">
 	<property file="../../../../build/build.properties" />

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/test/conf/log4j.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/test/conf/log4j.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/test/conf/log4j.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
 <!-- ===================================================================== -->
 <!-- -->
 <!-- Log4j Configuration -->
 <!-- -->
 <!-- ===================================================================== -->
-<!-- $Id:$ -->
+<!-- $Id: log4j.xml 447115 2006-09-17 19:09:34Z pero $ -->
 <!--
 | For more configuration infromation and examples see the Jakarta Log4j
 | owebsite: http://jakarta.apache.org/log4j

Modified: branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/test/src/share/org/apache/jk/status/JkStatusParserTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/test/src/share/org/apache/jk/status/JkStatusParserTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/test/src/share/org/apache/jk/status/JkStatusParserTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,3 +1,18 @@
+/*
+ *  Copyright 1999-2004, 2006 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
 package org.apache.jk.status;
 
 import java.io.IOException;
@@ -17,23 +32,24 @@
 	public void testDigester() throws IOException, SAXException {
 		Digester digester = JkStatusParser.createDigester();
         String example = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"
-                       +  "<jk:status xmlns:jk=\"http://jakarta.apache.org\">"
-                       +  "<jk:server name=\"localhost\" port=\"80\" software=\"Apache/2.0.54 (Win32) mod_ssl/2.0.54 OpenSSL/0.9.7g mod_jk/1.2.13-dev\" version=\"1.2.12\" />"
-                       +  "<jk:balancers>"
-                       +  "<jk:balancer id=\"0\" name=\"lb\" type=\"lb\" sticky=\"True\" stickyforce=\"False\" retries=\"3\" recover=\"60\" >"
-                       +  "<jk:member id=\"0\" name=\"node1\" type=\"ajp13\" host=\"localhost\" port=\"9012\" address=\"127.0.0.1:9012\" status=\"OK\" lbfactor=\"1\" lbvalue=\"1\" elected=\"0\" readed=\"0\" transferred=\"0\" errors=\"0\" busy=\"0\" />"
-                       +  "<jk:member id=\"1\" name=\"node2\" type=\"ajp13\" host=\"localhost\" port=\"9022\" address=\"127.0.0.1:9022\" status=\"OK\" lbfactor=\"1\" lbvalue=\"1\" elected=\"0\" readed=\"0\" transferred=\"0\" errors=\"0\" busy=\"0\" />"
-                       +  "<jk:map type=\"Wildchar\" uri=\"/ClusterTest/*\" context=\"/ClusterTest/*\" />"
-                       +  "<jk:map type=\"Exact\" uri=\"/ClusterTest\" context=\"/ClusterTest\" />"
-                       +  "<jk:map type=\"Wildchar\" uri=\"/myapps/*\" context=\"/myapps/*\" />"
-                       +  "<jk:map type=\"Exact\" uri=\"/myapps\" context=\"/myapps\" />"
-                       +  "</jk:balancer>"
-                       +  "</jk:balancers>"
-                       +  "</jk:status>" ;
+         +   "<jk:status xmlns:jk=\"http://tomcat.apache.org\">"
+         +   "<jk:server name=\"localhost\" port=\"80\" software=\"Apache/2.0.58 (Unix) mod_jk/1.2.19\" version=\"1.2.19\" />"
+         +   "<jk:balancers>"
+         +   "<jk:balancer id=\"0\" name=\"loadbalancer\" type=\"lb\" sticky=\"True\" stickyforce=\"False\" retries=\"2\" recover=\"60\" >"
+         +   "<jk:member id=\"0\" name=\"node1\" type=\"ajp13\" host=\"localhost\" port=\"9012\" address=\"127.0.0.1:9012\" activation=\"ACT\" state=\"N/A\" distance=\"0\" lbfactor=\"1\" lbmult=\"1\" lbvalue=\"0\" elected=\"0\" errors=\"0\" transferred=\"0\" readed=\"0\" busy=\"0\" maxbusy=\"0\" jvm_route=\"node1\" />"
+         +   "<jk:member id=\"0\" name=\"node2\" type=\"ajp13\" host=\"localhost\" port=\"9022\" address=\"127.0.0.1:9022\" activation=\"ACT\" state=\"N/A\" distance=\"0\" lbfactor=\"1\" lbmult=\"1\" lbvalue=\"0\" elected=\"0\" errors=\"0\" transferred=\"0\" readed=\"0\" busy=\"0\" maxbusy=\"0\" jvm_route=\"node2\" />"
+         +   "<jk:map type=\"Wildchar\" uri=\"/ClusterTest/*\" context=\"/ClusterTest/*\" />"
+         +   "<jk:map type=\"Exact\" uri=\"/ClusterTest\" context=\"/ClusterTest\" />"
+         +   "<jk:map type=\"Wildchar\" uri=\"/myapps/*\" context=\"/myapps/*\" />"
+         +   "<jk:map type=\"Exact\" uri=\"/myapps\" context=\"/myapps\" />"
+         +   "</jk:balancer>"
+         +   "</jk:balancers>"
+         +   "</jk:status>" ;
+
 		StringReader reader = new StringReader(example);
 		JkStatus status = (JkStatus) digester
 				.parse(reader);
-		assertNotNull(status);
+	    assertNotNull(status);
         assertNotNull(status.getServer());
         assertEquals(1,status.getBalancers().size());
         JkBalancer balancer = (JkBalancer)status.getBalancers().get(0);

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/BUILDING
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/BUILDING	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/BUILDING	2007-05-21 10:51:24 UTC (rev 3531)
@@ -111,6 +111,20 @@
 
 
 
+  Building for Netscape/iPlanet/SunONE WebServer
+  ----------------------------------------------
+  make clean (to remove all previously compiled modules)
+  use configure and indicate that you will be building the
+  netscape nsapi redirector, then make the redirector plugin:
+
+  ./configure --enable-netscape
+  cd netscape
+  make -f Makefile.solaris
+
+  This assumes that SUITSPOT_HOME is defined and points to
+  your SunONE install path (eg: /opt/SUNWwbsvr/plugins)
+  and that JAVA_HOME is defined (eg: /opt/SUNWwbsvr/bin/https/jdk).
+
   Misc notes 
   ----------
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/CHANGES.txt
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/CHANGES.txt	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/CHANGES.txt	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,5 +1,5 @@
 TOMCAT CONNECTORS (JK) CHANGELOG:           -*-text-*-
-Last modified at [$Date: 2006-06-28 18:56:49 -0500 (Wed, 28 Jun 2006) $]
+Last modified at [$Date: 2006-06-28 17:56:49 -0600 (Wed, 28 Jun 2006) $]
 PLEASE DON'T WRITE IN THIS FILE BUT IN ../xdocs/changelog.xml AND USE ../tools/jkrelease.sh
 TO BUILD THE TEXT VERSION.
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/STATUS.txt
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/STATUS.txt	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/STATUS.txt	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,12 @@
 TOMCAT CONNECTORS (JK) STATUS:			-*-text-*-
-Last modified at [$Date: 2006-07-20 18:03:34 -0500 (Thu, 20 Jul 2006) $]
+Last modified at [$Date: 2007-03-02 07:25:46 -0700 (Fri, 02 Mar 2007) $]
 
 Release:
 
-    1.2.19  : in development
+    1.2.22  : in development
+    1.2.21  : released March 1, 2007
+    1.2.20  : released December 10, 2006
+    1.2.19  : released September 17, 2006
     1.2.18  : released July, 2006
     1.2.17  : not released
     1.2.16  : not released

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/apache-1.3/Makefile.in
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/apache-1.3/Makefile.in	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/apache-1.3/Makefile.in	2007-05-21 10:51:24 UTC (rev 3531)
@@ -85,7 +85,7 @@
 	 ${MOD_LINK} -o $@ $^
 
 mod_jk.so: mod_jk.la
-	$(LIBTOOL) --mode=install cp mod_jk.la `pwd`/$@
+	../scripts/build/instdso.sh SH_LIBTOOL='$(LIBTOOL)' mod_jk.la `pwd`
 
 #
 # Common part.

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/apache-1.3/mod_jk.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/apache-1.3/mod_jk.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/apache-1.3/mod_jk.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -20,7 +21,7 @@
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  *              Dan Milstein <danmil at shore.net>                            *
  *              Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 440636 $                                          *
+ * Version:     $Revision: 511952 $                                          *
  ***************************************************************************/
 
 /*
@@ -60,6 +61,14 @@
 #include "jk_ajp13.h"
 #include "jk_shm.h"
 
+#define JK_LOG_DEF_FILE             ("logs/mod_jk.log")
+#define JK_SHM_DEF_FILE             ("logs/jk-runtime-status")
+#define JK_ENV_HTTPS                ("HTTPS")
+#define JK_ENV_CERTS                ("SSL_CLIENT_CERT")
+#define JK_ENV_CIPHER               ("SSL_CIPHER")
+#define JK_ENV_SESSION              ("SSL_SESSION_ID")
+#define JK_ENV_KEY_SIZE             ("SSL_CIPHER_USEKEYSIZE")
+#define JK_ENV_WORKER_NAME          ("JK_WORKER_NAME")
 #define JK_NOTE_WORKER_NAME         ("JK_WORKER_NAME")
 #define JK_NOTE_WORKER_TYPE         ("JK_WORKER_TYPE")
 #define JK_NOTE_REQUEST_DURATION    ("JK_REQUEST_DURATION")
@@ -93,6 +102,16 @@
 #endif
 
 /*
+ * Environment variable forward object
+ */
+typedef struct
+{
+    int has_default;
+    char *name;
+    char *value;
+} envvar_item;
+
+/*
  * Configuration object for the mod_jk module.
  */
 typedef struct
@@ -112,6 +131,7 @@
     jk_map_t *worker_properties;
     char *worker_file;
     char *mount_file;
+    int mount_file_reload;
     jk_map_t *uri_to_context;
 
     int mountcopy;
@@ -129,10 +149,16 @@
      * Request Logging
      */
 
+    char *stamp_format_string;
     char *format_string;
     array_header *format;
 
     /*
+     * Setting target worker via environment
+     */
+   char *worker_indicator;
+
+    /*
      * SSL Support
      */
     int ssl_enable;
@@ -146,12 +172,16 @@
      * Jk Options
      */
     int options;
+    int exclude_options;
 
+    int strip_session;
     /*
      * Environment variables support
      */
     int envvars_in_use;
     table *envvars;
+    table *envvars_def;
+    array_header *envvar_items;
 
     server_rec *s;
 } jk_server_conf_t;
@@ -188,6 +218,7 @@
 } dir_config_rec;
 
 static jk_logger_t *main_log = NULL;
+static table *jk_log_fds = NULL;
 static jk_worker_env_t worker_env;
 static char *jk_shm_file = NULL;
 static size_t jk_shm_size = JK_SHM_DEF_SIZE;
@@ -478,7 +509,7 @@
 {
     request_rec *r = private_data->r;
     char *ssl_temp = NULL;
-    s->jvm_route = NULL;        /* Used for sticky session routing */
+    s->route = NULL;        /* Used for sticky session routing */
 
     /* Copy in function pointers (which are really methods) */
     s->start_response = ws_start_response;
@@ -508,6 +539,10 @@
         s->flush_packets = 1;
     else
         s->flush_packets = 0;
+    if (conf->options & JK_OPT_FLUSHEADER)
+        s->flush_header = 1;
+    else
+        s->flush_header = 0;
 
     if (conf->options & JK_OPT_DISABLEREUSE)
         s->disable_reuse = 1;
@@ -633,25 +668,33 @@
         }
 
         if (conf->envvars_in_use) {
-            array_header *t = ap_table_elts(conf->envvars);
+            const array_header *t = conf->envvar_items;
             if (t && t->nelts) {
                 int i;
-                table_entry *elts = (table_entry *) t->elts;
+                int j = 0;
+                envvar_item *elts = (envvar_item *) t->elts;
                 s->attributes_names =
                     ap_palloc(r->pool, sizeof(char *) * t->nelts);
                 s->attributes_values =
                     ap_palloc(r->pool, sizeof(char *) * t->nelts);
 
                 for (i = 0; i < t->nelts; i++) {
-                    s->attributes_names[i] = elts[i].key;
-                    s->attributes_values[i] =
-                        (char *)ap_table_get(r->subprocess_env, elts[i].key);
-                    if (!s->attributes_values[i]) {
-                        s->attributes_values[i] = elts[i].val;
+                    s->attributes_names[i - j] = elts[i].name;
+                    s->attributes_values[i - j] =
+                        (char *)ap_table_get(r->subprocess_env, elts[i].name);
+                    if (!s->attributes_values[i - j]) {
+                        if (elts[i].has_default) {
+                            s->attributes_values[i - j] = elts[i].value;
+                        }
+                        else {
+                            s->attributes_values[i - j] = "";
+                            s->attributes_names[i - j] = "";
+                            j++;
+                        }
                     }
                 }
 
-                s->num_attributes = t->nelts;
+                s->num_attributes = t->nelts - j;
             }
         }
     }
@@ -680,7 +723,7 @@
                 s->headers_values[i] = ap_pstrdup(r->pool, elts[i].val);
                 s->headers_names[i] = hname;
                 if (need_content_length_header &&
-                    !strcasecmp(s->headers_values[i], "content-length")) {
+                    !strcasecmp(s->headers_names[i], "content-length")) {
                     need_content_length_header = JK_FALSE;
                 }
             }
@@ -861,7 +904,7 @@
         (jk_server_conf_t *) ap_get_module_config(s->module_config,
                                                   &jk_module);
 
-    /* we need an absolut path */
+    /* we need an absolute path */
     conf->worker_file = ap_server_root_relative(cmd->pool, worker_file);
 
 #ifdef CHROOTED_APACHE
@@ -872,7 +915,7 @@
         conf->worker_file = ap_pstrdup(cmd->pool, worker_file);
 
     if (conf->worker_file == NULL)
-        return "JkWorkersFile file_name invalid";
+        return "JkWorkersFile file name invalid";
 
     if (stat(conf->worker_file, &statbuf) == -1)
         return "Can't find the workers file specified";
@@ -896,7 +939,7 @@
         (jk_server_conf_t *) ap_get_module_config(s->module_config,
                                                   &jk_module);
 
-    /* we need an absolut path (ap_server_root_relative does the ap_pstrdup) */
+    /* we need an absolute path (ap_server_root_relative does the ap_pstrdup) */
     conf->mount_file = ap_server_root_relative(cmd->pool, mount_file);
 
 #ifdef CHROOTED_APACHE
@@ -913,6 +956,32 @@
 }
 
 /*
+ * JkMountFileReload Directive Handling
+ *
+ * JkMountFileReload seconds
+ */
+
+static const char *jk_set_mount_file_reload(cmd_parms * cmd,
+                                            void *dummy, char *mount_file_reload)
+{
+    server_rec *s = cmd->server;
+    int interval;
+
+    jk_server_conf_t *conf =
+        (jk_server_conf_t *) ap_get_module_config(s->module_config,
+                                                  &jk_module);
+
+    interval = atoi(mount_file_reload);
+    if (interval < 0) {
+        interval = 0;
+    }
+
+    conf->mount_file_reload = interval;
+
+    return NULL;
+}
+
+/*
  * JkLogFile Directive Handling
  *
  * JkLogFile file
@@ -926,9 +995,21 @@
         (jk_server_conf_t *) ap_get_module_config(s->module_config,
                                                   &jk_module);
 
-    /* we need an absolut path */
-    conf->log_file = log_file;
+    /* we need an absolute path */
+    if (*log_file != '|') {
+        conf->log_file = ap_server_root_relative(cmd->pool, log_file);
 
+#ifdef CHROOTED_APACHE
+        ap_server_strip_chroot(conf->log_file, 0);
+#endif
+
+    }
+    else
+        conf->log_file = ap_pstrdup(cmd->pool, log_file);
+
+    if (conf->log_file == NULL)
+        return "JkLogFile file name invalid";
+
     return NULL;
 }
 
@@ -942,7 +1023,7 @@
                                    void *dummy, char *shm_file)
 {
 
-    /* we need an absolut path */
+    /* we need an absolute path */
     jk_shm_file = ap_server_root_relative(cmd->pool, shm_file);
 
 #ifdef CHROOTED_APACHE
@@ -953,7 +1034,7 @@
         jk_shm_file = ap_pstrdup(cmd->pool, shm_file);
 
     if (jk_shm_file == NULL)
-        return "JkShmFile file_name invalid";
+        return "JkShmFile file name invalid";
 
     return NULL;
 }
@@ -1006,7 +1087,13 @@
 static const char *jk_set_log_fmt(cmd_parms * cmd,
                                   void *dummy, char *log_format)
 {
-    jk_set_log_format(log_format);
+    server_rec *s = cmd->server;
+    jk_server_conf_t *conf =
+        (jk_server_conf_t *) ap_get_module_config(s->module_config,
+                                                  &jk_module);
+
+    conf->stamp_format_string = ap_pstrdup(cmd->pool, log_format);
+
     return NULL;
 }
 
@@ -1032,6 +1119,25 @@
     return NULL;
 }
 
+/*
+ * JkStripSession directive handling
+ *
+ * JkStripSession On/Off
+ */
+
+static const char *jk_set_strip_session(cmd_parms * cmd, void *dummy, int flag)
+{
+    server_rec *s = cmd->server;
+    jk_server_conf_t *conf =
+        (jk_server_conf_t *) ap_get_module_config(s->module_config,
+                                                  &jk_module);
+
+    /* Set up our value */
+    conf->strip_session = flag ? JK_TRUE : JK_FALSE;
+
+    return NULL;
+}
+
 /*****************************************************************
  *
  * Actually logging.
@@ -1079,7 +1185,7 @@
         s += strl[i];
     }
     *s = 0;
-    jk_log(conf->log ? conf->log : main_log, JK_LOG_REQUEST, "%s", str);
+    jk_log(conf->log, JK_LOG_REQUEST, "%s", str);
 }
 
 /*****************************************************************
@@ -1375,24 +1481,36 @@
 static const char *jk_set_request_log_format(cmd_parms * cmd,
                                              void *dummy, char *format)
 {
-    const char *err_string = NULL;
     server_rec *s = cmd->server;
     jk_server_conf_t *conf =
         (jk_server_conf_t *) ap_get_module_config(s->module_config,
                                                   &jk_module);
 
     conf->format_string = ap_pstrdup(cmd->pool, format);
-    if (format != NULL) {
-        conf->format =
-            parse_request_log_string(cmd->pool, format, &err_string);
-    }
-    if (conf->format == NULL)
-        return "JkRequestLogFormat format array NULL";
 
-    return err_string;
+    return NULL;
 }
 
 /*
+ * JkWorkerIndicator Directive Handling
+ *
+ * JkWorkerIndicator JkWorker
+ */
+
+static const char *jk_set_worker_indicator(cmd_parms * cmd,
+                                           void *dummy, char *indicator)
+{
+    server_rec *s = cmd->server;
+    jk_server_conf_t *conf =
+        (jk_server_conf_t *) ap_get_module_config(s->module_config,
+                                                  &jk_module);
+
+    conf->worker_indicator = ap_pstrdup(cmd->pool, indicator);
+
+    return NULL;
+}
+
+/*
  * JkExtractSSL Directive Handling
  *
  * JkExtractSSL On/Off
@@ -1534,6 +1652,10 @@
 
         mask = 0;
 
+        if (action == '-' && !strncasecmp(w, "ForwardURI", strlen("ForwardURI")))
+            return ap_pstrcat(cmd->pool, "JkOptions: Illegal option '-", w,
+                               "': ForwardURI* options can not be disabled", NULL);
+
         if (!strcasecmp(w, "ForwardKeySize")) {
             opt = JK_OPT_FWDKEYSIZE;
         }
@@ -1558,6 +1680,9 @@
         else if (!strcasecmp(w, "FlushPackets")) {
             opt = JK_OPT_FLUSHPACKETS;
         }
+        else if (!strcasecmp(w, "FlushHeader")) {
+            opt = JK_OPT_FLUSHEADER;
+        }
         else if (!strcasecmp(w, "DisableReuse")) {
             opt = JK_OPT_DISABLEREUSE;
         }
@@ -1568,7 +1693,7 @@
         conf->options &= ~mask;
 
         if (action == '-') {
-            conf->options &= ~opt;
+            conf->exclude_options |= opt;
         }
         else if (action == '+') {
             conf->options |= opt;
@@ -1595,9 +1720,12 @@
         (jk_server_conf_t *) ap_get_module_config(s->module_config,
                                                   &jk_module);
 
-    conf->envvars_in_use = JK_TRUE;
 
-    ap_table_add(conf->envvars, env_name, default_value);
+    /* env_name is mandatory, default_value is optional.
+     * No value means send the attribute only, if the env var is set during runtime.
+     */
+    ap_table_setn(conf->envvars, env_name, default_value ? default_value : "");
+    ap_table_setn(conf->envvars_def, env_name, default_value ? "1" : "0");
 
     return NULL;
 }
@@ -1616,11 +1744,10 @@
     jk_server_conf_t *conf =
         (jk_server_conf_t *) ap_get_module_config(s->module_config,
                                                   &jk_module);
+ 
+    if (jk_map_read_property(conf->worker_properties, line, 1, conf->log) == JK_FALSE)
+        return ap_pstrcat(cmd->temp_pool, "Invalid JkWorkerProperty ", line, NULL);
 
-    jk_logger_t *l = conf->log ? conf->log : main_log;
-    if (jk_map_read_property(conf->worker_properties, line, l) == JK_FALSE)
-        return ap_pstrcat(cmd->temp_pool, "Invalid JkWorkerProperty ", line);
-
     return NULL;
 }
 
@@ -1646,7 +1773,17 @@
      "the name of a mount file for the Tomcat servlet uri mappings"},
 
     /*
+     * JkMountFileReload specifies the reload check interval for the
+     * uriworker properties file.
+     *
+     * Default value is: JK_URIMAP_DEF_RELOAD
+     */
+    {"JkMountFileReload", jk_set_mount_file_reload, NULL, RSRC_CONF, TAKE1,
+     "the reload check interval of the mount file"},
+
+    /*
      * JkAutoMount specifies that the list of handled URLs must be
+     * JkAutoMount specifies that the list of handled URLs must be
      * asked to the servlet engine (autoconf feature)
      */
     {"JkAutoMount", jk_automount_context, NULL, RSRC_CONF, TAKE12,
@@ -1674,6 +1811,13 @@
      "Should the base server mounts be copied to the virtual server"},
 
     /*
+     * JkStripSession specifies if mod_jk should strip the ;jsessionid
+     * from the unmapped urls
+     */
+    {"JkStripSession", jk_set_strip_session, NULL, RSRC_CONF, FLAG,
+     "Should the server strip the jsessionid from unmapped URLs"},
+
+    /*
      * JkLogFile & JkLogLevel specifies to where should the plugin log
      * its information and how much.
      * JkLogStampFormat specify the time-stamp to be used on log
@@ -1699,6 +1843,17 @@
      "The mod_jk module automatic context apache alias directory"},
 
     /*
+     * Enable worker name to be set in an environment variable.
+     * this way one can use LocationMatch together with mod_end,
+     * mod_setenvif and mod_rewrite to set the target worker.
+     * Use this in combination with SetHandler jakarta-servlet to
+     * make mod_jk the handler for the request.
+     *
+     */
+    {"JkWorkerIndicator", jk_set_worker_indicator, NULL, RSRC_CONF, TAKE1,
+     "Name of the Apache environment that contains the worker name"},
+
+    /*
      * Apache has multiple SSL modules (for example apache_ssl, stronghold
      * IHS ...). Each of these can have a different SSL environment names
      * The following properties let the administrator specify the envoiroment
@@ -1739,8 +1894,9 @@
      * JkEnvVar let user defines envs var passed from WebServer to
      * Servlet Engine
      */
-    {"JkEnvVar", jk_add_env_var, NULL, RSRC_CONF, TAKE2,
-     "Adds a name of environment variable that should be sent to servlet-engine"},
+    {"JkEnvVar", jk_add_env_var, NULL, RSRC_CONF, TAKE12,
+     "Adds a name of environment variable and an optional value "
+     "that should be sent to servlet-engine"},
 
     {"JkWorkerProperty", jk_set_worker_property, NULL, RSRC_CONF, RAW_ARGS,
      "Set workers.properties formated directive"},
@@ -1757,31 +1913,85 @@
  */
 static int jk_handler(request_rec * r)
 {
+    jk_server_conf_t *conf =
+        (jk_server_conf_t *) ap_get_module_config(r->server->
+                                                  module_config,
+                                                  &jk_module);
     /* Retrieve the worker name stored by jk_translate() */
     const char *worker_name = ap_table_get(r->notes, JK_NOTE_WORKER_NAME);
     int rc;
 
+    JK_TRACE_ENTER(conf->log);
+
+    if (ap_table_get(r->subprocess_env, "no-jk")) {
+        if (JK_IS_DEBUG_LEVEL(conf->log))
+            jk_log(conf->log, JK_LOG_DEBUG,
+                   "Into handler no-jk env var detected for uri=%s, declined",
+                   r->uri);
+        JK_TRACE_EXIT(conf->log);
+        return DECLINED;
+    }
+
     if (r->proxyreq) {
+        jk_log(conf->log, JK_LOG_ERROR,
+               "Request has proxyreq flag set in mod_jk handler - aborting.");
+        JK_TRACE_EXIT(conf->log);
         return HTTP_INTERNAL_SERVER_ERROR;
     }
 
     /* Set up r->read_chunked flags for chunked encoding, if present */
     if ((rc = ap_setup_client_block(r, REQUEST_CHUNKED_DECHUNK))) {
+        jk_log(conf->log, JK_LOG_ERROR,
+               "Could not setup client_block for chunked encoding - aborting");
+        JK_TRACE_EXIT(conf->log);
         return rc;
     }
 
+    if (worker_name == NULL && r->handler && !strcmp(r->handler, JK_HANDLER)) {
+        /* we may be here because of a manual directive ( that overrides
+         * translate and
+         * sets the handler directly ). We still need to know the worker.
+         */
+            if (JK_IS_DEBUG_LEVEL(conf->log))
+                jk_log(conf->log, JK_LOG_DEBUG,
+                       "Retrieving environment %s", conf->worker_indicator);
+        worker_name = (char *)ap_table_get(r->subprocess_env, conf->worker_indicator);
+        if (worker_name) {
+          /* The JkWorkerIndicator environment variable has
+           * been used to explicitely set the worker without JkMount.
+           * This is useful in combination with LocationMatch or mod_rewrite.
+           */
+            if (JK_IS_DEBUG_LEVEL(conf->log))
+                jk_log(conf->log, JK_LOG_DEBUG,
+                       "Retrieved worker (%s) from env %s for %s",
+                       worker_name, conf->worker_indicator, r->uri);
+        }
+        else if (worker_env.num_of_workers == 1) {
+          /* We have a single worker ( the common case ).
+           * ( lb is a bit special, it should count as a single worker but
+           * I'm not sure how ). We also have a manual config directive that
+           * explicitely give control to us.
+           */
+            worker_name = worker_env.worker_list[0];
+            if (JK_IS_DEBUG_LEVEL(conf->log))
+                jk_log(conf->log, JK_LOG_DEBUG,
+                       "Single worker (%s) configuration for %s",
+                       worker_name, r->uri);
+        }
+        else if (worker_env.num_of_workers) {
+            worker_name = worker_env.worker_list[0];
+            if (JK_IS_DEBUG_LEVEL(conf->log))
+                jk_log(conf->log, JK_LOG_DEBUG,
+                       "Using first worker (%s) from %d workers for %s",
+                       worker_name, worker_env.num_of_workers, r->uri);
+        }
+    }
+
     if (worker_name) {
-        jk_server_conf_t *conf =
-            (jk_server_conf_t *) ap_get_module_config(r->server->
-                                                      module_config,
-                                                      &jk_module);
-        jk_logger_t *l = conf->log ? conf->log : main_log;
         jk_worker_t *worker;
 
-        JK_TRACE_ENTER(l);
+        worker = wc_get_worker_for_name(worker_name, conf->log);
 
-        worker = wc_get_worker_for_name(worker_name, l);
-
         if (worker) {
 #ifndef NO_GETTIMEOFDAY
             struct timeval tv_begin, tv_end;
@@ -1797,7 +2007,7 @@
             private_data.read_body_started = JK_FALSE;
             private_data.r = r;
 
-            wc_maintain(l);
+            wc_maintain(conf->log);
             jk_init_ws_service(&s);
 
             /* Update retries for this worker */
@@ -1805,7 +2015,7 @@
             s.ws_private = &private_data;
             s.pool = &private_data.p;
             ap_table_setn(r->notes, JK_NOTE_WORKER_TYPE,
-                          wc_get_name_for_type(worker->type, l));
+                          wc_get_name_for_type(worker->type, conf->log));
 #ifndef NO_GETTIMEOFDAY
             if (conf->format != NULL) {
                 gettimeofday(&tv_begin, NULL);
@@ -1814,9 +2024,9 @@
 
             if (init_ws_service(&private_data, &s, conf)) {
                 jk_endpoint_t *end = NULL;
-                if (worker->get_endpoint(worker, &end, l)) {
-                    rc = end->service(end, &s, l, &is_error);
-                    end->done(&end, l);
+                if (worker->get_endpoint(worker, &end, conf->log)) {
+                    rc = end->service(end, &s, conf->log, &is_error);
+                    end->done(&end, conf->log);
 
                     if (s.content_read < s.content_length ||
                         (s.is_chunked && !s.no_more_chunks)) {
@@ -1850,17 +2060,17 @@
                         ap_psprintf(r->pool, "%.1ld.%.6ld", seconds, micro);
                     ap_table_setn(r->notes, JK_NOTE_REQUEST_DURATION, duration);
 #endif
-                    if (s.jvm_route && *s.jvm_route)
-                        ap_table_setn(r->notes, JK_NOTE_WORKER_ROUTE, s.jvm_route);
+                    if (s.route && *s.route)
+                        ap_table_setn(r->notes, JK_NOTE_WORKER_ROUTE, s.route);
                     request_log_transaction(r, conf);
                 }
             }
             else {
-                jk_log(l, JK_LOG_ERROR, "Could not init service"
+                jk_log(conf->log, JK_LOG_ERROR, "Could not init service"
                        " for worker=%s",
                        worker_name);
                 jk_close_pool(&private_data.p);
-                JK_TRACE_EXIT(l);
+                JK_TRACE_EXIT(conf->log);
                 return is_error;
             }
             jk_close_pool(&private_data.p);
@@ -1869,45 +2079,46 @@
                 /* If tomcat returned no body and the status is not OK,
                    let apache handle the error code */
                 if (!r->sent_bodyct && r->status >= HTTP_BAD_REQUEST) {
-                    jk_log(l, JK_LOG_INFO, "No body with status=%d"
+                    jk_log(conf->log, JK_LOG_INFO, "No body with status=%d"
                            " for worker=%s",
                            r->status, worker_name);
-                    JK_TRACE_EXIT(l);
+                    JK_TRACE_EXIT(conf->log);
                     return r->status;
                 }
-                if (JK_IS_DEBUG_LEVEL(l))
-                    jk_log(l, JK_LOG_DEBUG, "Service finished"
+                if (JK_IS_DEBUG_LEVEL(conf->log))
+                    jk_log(conf->log, JK_LOG_DEBUG, "Service finished"
                            " with status=%d for worker=%s",
                            r->status, worker_name);
-                JK_TRACE_EXIT(l);
+                JK_TRACE_EXIT(conf->log);
                 return OK;      /* NOT r->status, even if it has changed. */
             }
             else if (rc == JK_CLIENT_ERROR) {
                 if (is_error != HTTP_REQUEST_ENTITY_TOO_LARGE)
                     r->connection->aborted = 1;
-                jk_log(l, JK_LOG_INFO, "Aborting connection"
+                jk_log(conf->log, JK_LOG_INFO, "Aborting connection"
                        " for worker=%s",
                        worker_name);
-                JK_TRACE_EXIT(l);
+                JK_TRACE_EXIT(conf->log);
                 return is_error;
             }
             else {
-                jk_log(l, JK_LOG_INFO, "Service error=%d"
+                jk_log(conf->log, JK_LOG_INFO, "Service error=%d"
                        " for worker=%s",
                        rc, worker_name);
-                JK_TRACE_EXIT(l);
+                JK_TRACE_EXIT(conf->log);
                 return is_error;
             }
         }
         else {
-            jk_log(l, JK_LOG_ERROR, "Could not init service"
+            jk_log(conf->log, JK_LOG_ERROR, "Could not init service"
                    " for worker=%s",
                    worker_name);
-            JK_TRACE_EXIT(l);
+            JK_TRACE_EXIT(conf->log);
             return HTTP_INTERNAL_SERVER_ERROR;
         }
     }
 
+    JK_TRACE_EXIT(conf->log);
     return HTTP_INTERNAL_SERVER_ERROR;
 }
 
@@ -1925,44 +2136,48 @@
     c->mount_file = NULL;
     c->log_file = NULL;
     c->log_fd = -1;
-    c->log_level = JK_LOG_DEF_LEVEL;
     c->log = NULL;
     c->alias_dir = NULL;
+    c->stamp_format_string = NULL;
     c->format_string = NULL;
     c->format = NULL;
     c->mountcopy = JK_FALSE;
-    c->options = JK_OPT_FWDURIDEFAULT;
+    c->exclude_options = 0;
 
-    /*
-     * By default we will try to gather SSL info.
-     * Disable this functionality through JkExtractSSL
-     */
-    c->ssl_enable = JK_TRUE;
-    /*
-     * The defaults ssl indicators match those in mod_ssl (seems
-     * to be in more use).
-     */
-    c->https_indicator = "HTTPS";
-    c->certs_indicator = "SSL_CLIENT_CERT";
+    if (s->is_virtual) {
+        c->mount_file_reload = JK_UNSET;
+        c->log_level = JK_UNSET;
+        c->options = 0;
+        c->worker_indicator = NULL;
+        c->ssl_enable = JK_UNSET;
+        c->https_indicator = NULL;
+        c->certs_indicator = NULL;
+        c->cipher_indicator = NULL;
+        c->session_indicator = NULL;
+        c->key_size_indicator = NULL;
+        c->strip_session = JK_UNSET;
+    } else {
+        c->mount_file_reload = JK_URIMAP_DEF_RELOAD;
+        c->log_level = JK_LOG_DEF_LEVEL;
+        c->options = JK_OPT_FWDURIDEFAULT;
+        c->worker_indicator = JK_ENV_WORKER_NAME;
+        /*
+         * By default we will try to gather SSL info.
+         * Disable this functionality through JkExtractSSL
+         */
+        c->ssl_enable = JK_TRUE;
+        /*
+         * The defaults ssl indicators match those in mod_ssl (seems
+         * to be in more use).
+         */
+        c->https_indicator = JK_ENV_HTTPS;
+        c->certs_indicator = JK_ENV_CERTS;
+        c->cipher_indicator = JK_ENV_CIPHER;
+        c->session_indicator = JK_ENV_SESSION;
+        c->key_size_indicator = JK_ENV_KEY_SIZE;
+        c->strip_session = JK_FALSE;
+    }
 
-    /*
-     * The following (comented out) environment variables match apache_ssl!
-     * If you are using apache_sslapache_ssl uncomment them (or use the
-     * configuration directives to set them.
-     *
-     c->cipher_indicator = "HTTPS_CIPHER";
-     c->session_indicator = NULL;
-     c->key_size_indicator = NULL;
-     */
-
-    /*
-     * The following environment variables match mod_ssl! If you
-     * are using another module (say apache_ssl) comment them out.
-     */
-    c->cipher_indicator = "SSL_CIPHER";
-    c->session_indicator = "SSL_SESSION_ID";
-    c->key_size_indicator = "SSL_CIPHER_USEKEYSIZE";
-
     if (!jk_map_alloc(&(c->uri_to_context))) {
         jk_error_exit(APLOG_MARK, APLOG_EMERG, s, p, "Memory error");
     }
@@ -1974,6 +2189,8 @@
 
     c->envvars_in_use = JK_FALSE;
     c->envvars = ap_make_table(p, 0);
+    c->envvars_def = ap_make_table(p, 0);
+    c->envvar_items = ap_make_array(p, 0, sizeof(envvar_item));
 
     c->s = s;
     jk_map_put(c->worker_properties, "ServerRoot", ap_server_root, NULL);
@@ -1989,7 +2206,7 @@
     int i;
     for (i = 0; i < sz; i++) {
         const char *name = jk_map_name_at(src, i);
-        if (jk_map_get(src, name, NULL) == NULL) {
+        if (jk_map_get(dst, name, NULL) == NULL) {
             if (!jk_map_put (dst, name,
                  ap_pstrdup(p, jk_map_get_string(src, name, NULL)),
                             NULL)) {
@@ -2004,39 +2221,78 @@
     jk_server_conf_t *base = (jk_server_conf_t *) basev;
     jk_server_conf_t *overrides = (jk_server_conf_t *) overridesv;
 
-    if (base->ssl_enable) {
+    if (!overrides->log_file)
+        overrides->log_file = base->log_file;
+    if (overrides->log_level == JK_UNSET)
+        overrides->log_level = base->log_level;
+
+    if (!overrides->stamp_format_string)
+        overrides->stamp_format_string = base->stamp_format_string;
+    if (!overrides->format_string)
+        overrides->format_string = base->format_string;
+
+    if (!overrides->worker_indicator)
+        overrides->worker_indicator = base->worker_indicator;
+
+    if (overrides->ssl_enable == JK_UNSET)
         overrides->ssl_enable = base->ssl_enable;
+    if (!overrides->https_indicator)
         overrides->https_indicator = base->https_indicator;
+    if (!overrides->certs_indicator)
         overrides->certs_indicator = base->certs_indicator;
+    if (!overrides->cipher_indicator)
         overrides->cipher_indicator = base->cipher_indicator;
+    if (!overrides->session_indicator)
         overrides->session_indicator = base->session_indicator;
+    if (!overrides->key_size_indicator)
         overrides->key_size_indicator = base->key_size_indicator;
+
+    if (!overrides->secret_key)
+        overrides->secret_key = base->secret_key;
+
+    overrides->options |= (base->options & ~base->exclude_options);
+
+    if (base->envvars_in_use) {
+        int i;
+        const array_header *arr;
+        const table_entry *elts;
+
+        arr = ap_table_elts(base->envvars);
+        if (arr) {
+            overrides->envvars_in_use = JK_TRUE;
+            elts = (const table_entry *)arr->elts;
+            for (i = 0; i < arr->nelts; ++i) {
+                if (!ap_table_get(overrides->envvars, elts[i].key)) {
+                    ap_table_setn(overrides->envvars, elts[i].key, elts[i].val);
+                }
+            }
+        }
+        arr = ap_table_elts(base->envvars_def);
+        if (arr) {
+            overrides->envvars_in_use = JK_TRUE;
+            elts = (const table_entry *)arr->elts;
+            for (i = 0; i < arr->nelts; ++i) {
+                if (!ap_table_get(overrides->envvars_def, elts[i].key)) {
+                    ap_table_setn(overrides->envvars_def, elts[i].key, elts[i].val);
+                }
+            }
+        }
     }
 
-    overrides->options = base->options;
-
+    if (overrides->mount_file_reload == JK_UNSET)
+        overrides->mount_file_reload = base->mount_file_reload;
     if (overrides->mountcopy) {
         copy_jk_map(p, overrides->s, base->uri_to_context,
                     overrides->uri_to_context);
         copy_jk_map(p, overrides->s, base->automount, overrides->automount);
-        overrides->mount_file = base->mount_file;
+        if (!overrides->mount_file)
+            overrides->mount_file = base->mount_file;
+        if (!overrides->alias_dir)
+            overrides->alias_dir = base->alias_dir;
     }
+    if (overrides->strip_session == JK_UNSET)
+        overrides->strip_session = base->strip_session;
 
-    if (base->envvars_in_use) {
-        overrides->envvars_in_use = JK_TRUE;
-        overrides->envvars =
-            ap_overlay_tables(p, overrides->envvars, base->envvars);
-    }
-
-    if (!uri_worker_map_alloc
-        (&(overrides->uw_map), overrides->uri_to_context, overrides->log)) {
-        jk_error_exit(APLOG_MARK, APLOG_EMERG, overrides->s, p,
-                      "Memory error");
-    }
-
-    if (base->secret_key)
-        overrides->secret_key = base->secret_key;
-
     return overrides;
 }
 
@@ -2065,49 +2321,96 @@
     return JK_FALSE;
 }
 
+static int log_fd_get(char *key)
+{
+    const char *buf=ap_table_get(jk_log_fds, key);
+    if (buf)
+        return atoi(buf);
+    return 0;
+}
+
+static void log_fd_set(pool *p, char *key, int v)
+{
+    char *buf=(char *)ap_pcalloc(p, 8*sizeof(char));
+    ap_snprintf(buf, 8, "%d", v);
+    ap_table_setn(jk_log_fds, key, buf);
+}
+
 static void open_jk_log(server_rec *s, pool *p)
 {
+    const char *fname;
+    int jklogfd;
+    piped_log *pl;
     jk_logger_t *jkl;
     file_logger_t *flp;
     jk_server_conf_t *conf =
         (jk_server_conf_t *) ap_get_module_config(s->module_config,
                                                   &jk_module);
 
-    if (!conf->log_file || conf->log_fd >= 0)
-        return;               /* virtual log shared w/main server */
+    if (!s->is_virtual && !conf->log_file) {
+        conf->log_file = ap_server_root_relative(p, JK_LOG_DEF_FILE);
+        if (conf->log_file)
+            ap_log_error(APLOG_MARK, APLOG_INFO | APLOG_NOERRNO, s,
+                         "No JkLogFile defined in httpd.conf. "
+                         "Using default %s", conf->log_file);
+    }
 
-    if (*conf->log_file == '|') {
-        piped_log *pl;
+    if (s->is_virtual && conf->log_file == NULL) {
+        ap_log_error(APLOG_MARK, APLOG_ERR, s,
+                     "mod_jk: Invalid JkLogFile NULL");
+        conf->log = main_log;
+        return;
+    }
+    if (s->is_virtual && *(conf->log_file) == '\0') {
+        ap_log_error(APLOG_MARK, APLOG_ERR, s,
+                     "mod_jk: Invalid JkLogFile EMPTY");
+        conf->log = main_log;
+        return;
+    }
 
-        pl = ap_open_piped_log(p, conf->log_file + 1);
-        if (pl == NULL) {
-            ap_log_error(APLOG_MARK, APLOG_ERR, s,
-                         "mod_jk: could not open reliable pipe "
-                         "to jk log %s", conf->log_file + 1);
-            exit(1);
+#ifdef CHROOTED_APACHE
+    ap_server_strip_chroot(conf->log_file, 0);
+#endif
+
+    jklogfd = log_fd_get(conf->log_file);
+    if (!jklogfd) {
+        if (*conf->log_file == '|') {
+            if ((pl = ap_open_piped_log(p, conf->log_file + 1)) == NULL) {
+                ap_log_error(APLOG_MARK, APLOG_ERR, s,
+                             "mod_jk: could not open reliable pipe "
+                             "to jk log %s", conf->log_file + 1);
+                exit(1);
+            }
+            jklogfd = ap_piped_log_write_fd(pl);
         }
-        conf->log_fd = ap_piped_log_write_fd(pl);
-    }
-    else if (*conf->log_file != '\0') {
-        char *log_file = ap_server_root_relative(p, conf->log_file);
+        else {
+            fname = ap_server_root_relative(p, conf->log_file);
+            if (!fname) {
+                ap_log_error(APLOG_MARK, APLOG_ERR, s,
+                             "mod_jk: Invalid JkLog " "path %s", conf->log_file);
+                exit(1);
+            }
 #if AP_MODULE_MAGIC_AT_LEAST(19990320,14)
-        if ((conf->log_fd = ap_popenf_ex(p, log_file, xfer_flags, xfer_mode, 1))
-             < 0) {
+            if ((jklogfd = ap_popenf_ex(p, fname, xfer_flags, xfer_mode, 1))
+                 < 0) {
 #else
-        if ((conf->log_fd = ap_popenf(p, log_file, xfer_flags, xfer_mode))
-             < 0) {
+            if ((jklogfd = ap_popenf(p, fname, xfer_flags, xfer_mode))
+                 < 0) {
 #endif
-            ap_log_error(APLOG_MARK, APLOG_ERR, s,
-                         "mod_jk: could not open JkLog " "file %s", log_file);
-            exit(1);
+                ap_log_error(APLOG_MARK, APLOG_ERR, s,
+                             "mod_jk: could not open JkLog " "file %s", fname);
+                exit(1);
+            }
         }
+        log_fd_set(p, conf->log_file, jklogfd);
     }
-
+    conf->log_fd = jklogfd;
     jkl = (jk_logger_t *)ap_palloc(p, sizeof(jk_logger_t));
     flp = (file_logger_t *)ap_palloc(p, sizeof(file_logger_t));
     if (jkl && flp) {
         jkl->log = jk_log_to_file;
         jkl->level = conf->log_level;
+        jkl->log_fmt = conf->stamp_format_string;
         jkl->logger_private = flp;
         flp->log_fd = conf->log_fd;
         conf->log = jkl;
@@ -2122,21 +2425,81 @@
 static void jk_init(server_rec * s, ap_pool * p)
 {
     int rc;
-    server_rec *t;
+    server_rec *srv = s;
+    const char *err_string = NULL;
     jk_server_conf_t *conf =
         (jk_server_conf_t *) ap_get_module_config(s->module_config,
                                                   &jk_module);
     jk_map_t *init_map = conf->worker_properties;
 
-    open_jk_log(s, p);
-    main_log = conf->log;
-    for (t=s; t; t = t->next)
-        open_jk_log(t, p);
+    jk_log_fds = ap_make_table(p, 0);
+
+    /* step through the servers and open each jk logfile
+     * and do additional post config initialization.
+     */
+    for (; srv; srv = srv->next) {
+        jk_server_conf_t *sconf = (jk_server_conf_t *)ap_get_module_config(srv->module_config,
+                                                                           &jk_module);
+        open_jk_log(srv, p);
+        if (sconf) {
+            if (!uri_worker_map_alloc(&(sconf->uw_map),
+                                      sconf->uri_to_context, sconf->log))
+                jk_error_exit(APLOG_MARK, APLOG_EMERG, srv,
+                              p, "Memory error");
+            if (sconf->mount_file) {
+                sconf->uw_map->fname = sconf->mount_file;
+                sconf->uw_map->reload = sconf->mount_file_reload;
+                uri_worker_map_load(sconf->uw_map, sconf->log);
+            }
+            if (sconf->format_string) {
+                sconf->format =
+                    parse_request_log_string(p, sconf->format_string, &err_string);
+                if (sconf->format == NULL)
+                    ap_log_error(APLOG_MARK, APLOG_ERR, srv,
+                                 "JkRequestLogFormat format array NULL");
+            }
+            sconf->options &= ~sconf->exclude_options;
+            if (sconf->envvars_in_use) {
+                int i;
+                const array_header *arr;
+                const table_entry *elts;
+                envvar_item *item;
+                const char *envvar_def;
+
+                arr = ap_table_elts(sconf->envvars);
+                if (arr) {
+                    elts = (const table_entry *)arr->elts;
+                    for (i = 0; i < arr->nelts; ++i) {
+                        item = (envvar_item *)ap_push_array(sconf->envvar_items);
+                        if (!item)
+                            jk_error_exit(APLOG_MARK, APLOG_EMERG, srv,
+                                          p, "Memory error");
+                        item->name = elts[i].key;
+                        envvar_def = ap_table_get(sconf->envvars_def, elts[i].key);
+                        if (envvar_def && !strcmp("1", envvar_def) ) {
+                            item->value = elts[i].val;
+                            item->has_default = 1;
+                        }
+                        else {
+                            item->value = "";
+                            item->has_default = 0;
+                        }
+                    }
+                }
+            }
+        }
+    }
+
 #if !defined(WIN32) && !defined(NETWARE)
     if (!jk_shm_file) {
-        jk_shm_file = ap_server_root_relative(p, "logs/jk-runtime-status");
+        jk_shm_file = ap_server_root_relative(p, JK_SHM_DEF_FILE);
+
+#ifdef CHROOTED_APACHE
+        ap_server_strip_chroot(jk_shm_file, 0);
+#endif
+
         if (jk_shm_file)
-            ap_log_error(APLOG_MARK, APLOG_INFO | APLOG_NOERRNO, NULL,
+            ap_log_error(APLOG_MARK, APLOG_INFO | APLOG_NOERRNO, s,
                          "No JkShmFile defined in httpd.conf. "
                          "Using default %s", jk_shm_file);
     }
@@ -2152,7 +2515,7 @@
                jk_shm_name(), rc);
 #if !defined(WIN32) && !defined(NETWARE)
     if (!jk_shm_file)
-        ap_log_error(APLOG_MARK, APLOG_EMERG | APLOG_NOERRNO, NULL,
+        ap_log_error(APLOG_MARK, APLOG_EMERG | APLOG_NOERRNO, s,
                      "No JkShmFile defined in httpd.conf. "
                      "LoadBalancer will not function properly!");
 #endif
@@ -2163,31 +2526,25 @@
 
 /*
 { int i;
-jk_log(conf->log, JK_LOG_DEBUG, "default secret key = %s", conf->secret_key);
+if (JK_IS_DEBUG_LEVEL(conf->log))
+    jk_log(conf->log, JK_LOG_DEBUG, "default secret key = %s", conf->secret_key);
 for (i = 0; i < jk_map_size(conf->automount); i++)
 {
             char *name = jk_map_name_at(conf->automount, i);
-            jk_log(conf->log, JK_LOG_DEBUG, "worker = %s and virtualhost = %s", name, map_get_string(conf->automount, name, NULL));
+            if (JK_IS_DEBUG_LEVEL(conf->log))
+                jk_log(conf->log, JK_LOG_DEBUG, "worker = %s and virtualhost = %s", name, map_get_string(conf->automount, name, NULL));
 }
 }
 */
 
-     /* Create mapping from uri's to workers, and start up all the workers */
-    if (!uri_worker_map_alloc
-        (&(conf->uw_map), conf->uri_to_context, conf->log)) {
-        jk_error_exit(APLOG_MARK, APLOG_EMERG, s, p, "Memory error");
-    }
+    if (!jk_map_read_properties(init_map, conf->worker_file, NULL, 1, conf->log)) {
 
-    /*if(map_alloc(&init_map)) { */
-
-    if (!jk_map_read_properties(init_map, conf->worker_file, NULL, conf->log)) {
-
         if (jk_map_size(init_map) == 0) {
-            ap_log_error(APLOG_MARK, APLOG_EMERG, NULL,
+            ap_log_error(APLOG_MARK, APLOG_EMERG, s,
                          "No worker file and no worker options in httpd.conf "
                          "use JkWorkerFile to set workers");
-            return;
         }
+        jk_error_exit(APLOG_MARK, APLOG_EMERG | APLOG_NOERRNO, s, p, "Error in reading worker properties");
 
     }
 #if MODULE_MAGIC_NUMBER >= 19980527
@@ -2203,16 +2560,10 @@
     worker_env.uri_to_worker = conf->uw_map;
     worker_env.virtual = "*";       /* for now */
     worker_env.server_name = (char *)ap_get_server_version();
-    if (wc_open(init_map, &worker_env, conf->log)) {
-        /* XXX: For each virtual host? */
-        if (conf && conf->mount_file) {
-            conf->uw_map->fname = conf->mount_file;
-            uri_worker_map_load(conf->uw_map, conf->log);
-        }
+    if (wc_open(init_map, &worker_env, conf->log))
         return;
-    }
 
-    ap_log_error(APLOG_MARK, APLOG_ERR, NULL,
+    ap_log_error(APLOG_MARK, APLOG_ERR, s,
                  "Error while opening the workers, jk will not work");
 }
 
@@ -2230,12 +2581,19 @@
                                                       &jk_module);
 
         if (conf) {
-            jk_logger_t *l = conf->log ? conf->log : main_log;
             char *clean_uri = ap_pstrdup(r->pool, r->uri);
             const char *worker;
 
+            if (ap_table_get(r->subprocess_env, "no-jk")) {
+                if (JK_IS_DEBUG_LEVEL(conf->log))
+                    jk_log(conf->log, JK_LOG_DEBUG,
+                           "Into translate no-jk env var detected for uri=%s, declined",
+                           r->uri);
+                return DECLINED;
+            }
+
             ap_no2slash(clean_uri);
-            worker = map_uri_to_worker(conf->uw_map, clean_uri, l);
+            worker = map_uri_to_worker(conf->uw_map, clean_uri, conf->log);
 
             /* Don't know the worker, ForwardDirectories is set, there is a
              * previous request for which the handler is JK_HANDLER (as set by
@@ -2251,8 +2609,9 @@
                      * already tried mapping and it didn't work out */
                     worker = worker_env.worker_list[0];
 
-                    jk_log(l, JK_LOG_DEBUG, "Manual configuration for %s %s",
-                           clean_uri, worker_env.worker_list[0]);
+                    if (JK_IS_DEBUG_LEVEL(conf->log))
+                        jk_log(conf->log, JK_LOG_DEBUG, "Manual configuration for %s %s",
+                               clean_uri, worker_env.worker_list[0]);
                 }
             }
 
@@ -2262,9 +2621,10 @@
             }
             else if (conf->alias_dir != NULL) {
                 /* Automatically map uri to a context static file */
-                jk_log(l, JK_LOG_DEBUG,
-                       "mod_jk::jk_translate, check alias_dir: %s",
-                       conf->alias_dir);
+                if (JK_IS_DEBUG_LEVEL(conf->log))
+                    jk_log(conf->log, JK_LOG_DEBUG,
+                           "check alias_dir: %s",
+                           conf->alias_dir);
                 if (strlen(clean_uri) > 1) {
                     /* Get the context directory name */
                     char *context_dir = NULL;
@@ -2287,14 +2647,16 @@
                         }
                         /* Deny access to WEB-INF and META-INF directories */
                         if (child_dir != NULL) {
-                            jk_log(l, JK_LOG_DEBUG,
-                                   "mod_jk::jk_translate, AutoAlias child_dir: %s",
-                                   child_dir);
+                            if (JK_IS_DEBUG_LEVEL(conf->log))
+                                jk_log(conf->log, JK_LOG_DEBUG,
+                                       "AutoAlias child_dir: %s",
+                                       child_dir);
                             if (!strcasecmp(child_dir, "WEB-INF") ||
                                 !strcasecmp(child_dir, "META-INF")) {
-                                jk_log(l, JK_LOG_DEBUG,
-                                       "mod_jk::jk_translate, AutoAlias HTTP_NOT_FOUND for URI: %s",
-                                       r->uri);
+                                if (JK_IS_DEBUG_LEVEL(conf->log))
+                                    jk_log(conf->log, JK_LOG_DEBUG,
+                                           "AutoAlias HTTP_NOT_FOUND for URI: %s",
+                                           r->uri);
                                 return HTTP_NOT_FOUND;
                             }
                         }
@@ -2318,9 +2680,10 @@
                             ap_pclosedir(r->pool, dir);
                             /* Add code to verify real path ap_os_canonical_name */
                             if (ret != NULL) {
-                                jk_log(l, JK_LOG_DEBUG,
-                                       "mod_jk::jk_translate, AutoAlias OK for file: %s",
-                                       ret);
+                                if (JK_IS_DEBUG_LEVEL(conf->log))
+                                    jk_log(conf->log, JK_LOG_DEBUG,
+                                           "AutoAlias OK for file: %s",
+                                           ret);
                                 r->filename = ret;
                                 return OK;
                             }
@@ -2331,15 +2694,34 @@
                             if (size > 4
                                 && !strcasecmp(context_dir + (size - 4),
                                                ".war")) {
-                                jk_log(l, JK_LOG_DEBUG,
-                                       "mod_jk::jk_translate, AutoAlias FORBIDDEN for URI: %s",
-                                       r->uri);
+                                if (JK_IS_DEBUG_LEVEL(conf->log))
+                                    jk_log(conf->log, JK_LOG_DEBUG,
+                                           "AutoAlias FORBIDDEN for URI: %s",
+                                           r->uri);
                                 return FORBIDDEN;
                             }
                         }
                     }
                 }
             }
+            else if (conf->strip_session == JK_TRUE) {
+                char *jsessionid;
+                if (r->uri) {
+                    jsessionid = strstr(r->uri, JK_PATH_SESSION_IDENTIFIER);
+                    if (jsessionid) {
+                        if (JK_IS_DEBUG_LEVEL(conf->log))
+                            jk_log(conf->log, JK_LOG_DEBUG,
+                                   "removing session identifier [%s] for non servlet url [%s]",
+                                   jsessionid, r->uri);
+                        *jsessionid = '\0';
+                    }
+                }
+                if (r->filename) {
+                    jsessionid = strstr(r->filename, JK_PATH_SESSION_IDENTIFIER);
+                    if (jsessionid)
+                        *jsessionid = '\0';
+                }
+            }
         }
     }
 
@@ -2358,13 +2740,20 @@
             ap_get_module_config(r->server->module_config, &jk_module);
         char *worker = (char *)ap_table_get(r->notes, JK_NOTE_WORKER_NAME);
 
+        if (ap_table_get(r->subprocess_env, "no-jk")) {
+            if (JK_IS_DEBUG_LEVEL(conf->log))
+                jk_log(conf->log, JK_LOG_DEBUG,
+                       "Into fixup no-jk env var detected for uri=%s, declined",
+                       r->uri);
+            return DECLINED;
+        }
+
         /* Only if we have no worker and ForwardDirectories is set */
         if (!worker && (conf->options & JK_OPT_FWDDIRS)) {
             char *dummy_ptr[1], **names_ptr, *idx;
             int num_names;
             dir_config_rec *d = (dir_config_rec *)
                 ap_get_module_config(r->per_dir_config, &dir_module);
-            jk_logger_t *l = conf->log ? conf->log : main_log;
 
             /* Direct lift from mod_dir */
             if (d->index_names) {
@@ -2389,8 +2778,9 @@
                 /* We'll be checking for handler in r->prev later on */
                 r->main->handler = ap_pstrdup(r->pool, JK_HANDLER);
 
-                jk_log(l, JK_LOG_DEBUG, "ForwardDirectories on: %s",
-                       r->uri);
+                if (JK_IS_DEBUG_LEVEL(conf->log))
+                    jk_log(conf->log, JK_LOG_DEBUG, "ForwardDirectories on: %s",
+                           r->uri);
             }
         }
     }

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/apache-2.0/Makefile.in
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/apache-2.0/Makefile.in	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/apache-2.0/Makefile.in	2007-05-21 10:51:24 UTC (rev 3531)
@@ -66,7 +66,7 @@
 	$(LIBTOOL) --mode=link ${COMPILE} `${APXS} -q LDFLAGS` -o $@ -module -rpath ${libexecdir} -avoid-version mod_jk.lo $(APACHE_OBJECTS)
 
 mod_jk.so: mod_jk.la
-	$(LIBTOOL) --mode=install cp mod_jk.la `pwd`/$@
+	../scripts/build/instdso.sh SH_LIBTOOL='$(LIBTOOL)' mod_jk.la `pwd`
 
 install_dynamic:
 	@echo ""

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/apache-2.0/mod_jk.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/apache-2.0/mod_jk.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/apache-2.0/mod_jk.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
  * Description: Apache 2 plugin for Tomcat                                 *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  *              Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 440636 $                                          *
+ * Version:     $Revision: 511951 $                                          *
  ***************************************************************************/
 
 /*
@@ -108,6 +109,14 @@
 #include "jk_worker.h"
 #include "jk_shm.h"
 
+#define JK_LOG_DEF_FILE             ("logs/mod_jk.log")
+#define JK_SHM_DEF_FILE             ("logs/jk-runtime-status")
+#define JK_ENV_HTTPS                ("HTTPS")
+#define JK_ENV_CERTS                ("SSL_CLIENT_CERT")
+#define JK_ENV_CIPHER               ("SSL_CIPHER")
+#define JK_ENV_SESSION              ("SSL_SESSION_ID")
+#define JK_ENV_KEY_SIZE             ("SSL_CIPHER_USEKEYSIZE")
+#define JK_ENV_WORKER_NAME          ("JK_WORKER_NAME")
 #define JK_NOTE_WORKER_NAME         ("JK_WORKER_NAME")
 #define JK_NOTE_WORKER_TYPE         ("JK_WORKER_TYPE")
 #define JK_NOTE_REQUEST_DURATION    ("JK_REQUEST_DURATION")
@@ -127,9 +136,22 @@
 /* module MODULE_VAR_EXPORT jk_module; */
 AP_MODULE_DECLARE_DATA module jk_module;
 
+/*
+ * Environment variable forward object
+ */
 typedef struct
 {
+    int has_default;
+    char *name;
+    char *value;
+} envvar_item;
 
+/*
+ * Configuration object for the mod_jk module.
+ */
+typedef struct
+{
+
     /*
      * Log stuff
      */
@@ -144,6 +166,7 @@
     jk_map_t *worker_properties;
     char *worker_file;
     char *mount_file;
+    int mount_file_reload;
     jk_map_t *uri_to_context;
 
     int mountcopy;
@@ -163,10 +186,16 @@
      * Request Logging
      */
 
+    char *stamp_format_string;
     char *format_string;
     apr_array_header_t *format;
 
     /*
+     * Setting target worker via environment
+     */
+    char *worker_indicator;
+
+    /*
      * SSL Support
      */
     int ssl_enable;
@@ -180,12 +209,16 @@
      * Jk Options
      */
     int options;
+    int exclude_options;
 
+    int strip_session;
     /*
      * Environment variables support
      */
     int envvars_in_use;
     apr_table_t *envvars;
+    apr_table_t *envvars_def;
+    apr_array_header_t *envvar_items;
 
     server_rec *s;
 } jk_server_conf_t;
@@ -201,6 +234,7 @@
 typedef struct apache_private_data apache_private_data_t;
 
 static jk_logger_t *main_log = NULL;
+static apr_hash_t *jk_log_fps = NULL;
 static jk_worker_env_t worker_env;
 static apr_global_mutex_t *jk_log_lock = NULL;
 static char *jk_shm_file = NULL;
@@ -216,7 +250,7 @@
 static int JK_METHOD ws_read(jk_ws_service_t *s,
                              void *b, unsigned len, unsigned *actually_read);
 
-static void init_jk(apr_pool_t * pconf, jk_server_conf_t * conf,
+static int init_jk(apr_pool_t * pconf, jk_server_conf_t * conf,
                     server_rec * s);
 
 static int JK_METHOD ws_write(jk_ws_service_t *s, const void *b, unsigned l);
@@ -498,7 +532,7 @@
     request_rec *r = private_data->r;
 
     char *ssl_temp = NULL;
-    s->jvm_route = NULL;        /* Used for sticky session routing */
+    s->route = NULL;        /* Used for sticky session routing */
 
     /* Copy in function pointers (which are really methods) */
     s->start_response = ws_start_response;
@@ -526,6 +560,10 @@
         s->flush_packets = 1;
     else
         s->flush_packets = 0;
+    if (conf->options & JK_OPT_FLUSHEADER)
+        s->flush_header = 1;
+    else
+        s->flush_header = 0;
 
     if (conf->options & JK_OPT_DISABLEREUSE)
         s->disable_reuse = 1;
@@ -543,7 +581,11 @@
      */
     s->server_port  = ap_get_server_port(r);
 
+#if (MODULE_MAGIC_NUMBER_MAJOR > 20060110)
+    s->server_software = (char *)ap_get_server_banner();
+#else
     s->server_software = (char *)ap_get_server_version();
+#endif
     s->method = (char *)r->method;
     s->content_length = get_content_length(r);
     s->is_chunked = r->read_chunked;
@@ -657,25 +699,33 @@
         }
 
         if (conf->envvars_in_use) {
-            const apr_array_header_t *t = apr_table_elts(conf->envvars);
+            const apr_array_header_t *t = conf->envvar_items;
             if (t && t->nelts) {
                 int i;
-                apr_table_entry_t *elts = (apr_table_entry_t *) t->elts;
+                int j = 0;
+                envvar_item *elts = (envvar_item *) t->elts;
                 s->attributes_names = apr_palloc(r->pool,
                                                  sizeof(char *) * t->nelts);
                 s->attributes_values = apr_palloc(r->pool,
                                                   sizeof(char *) * t->nelts);
 
                 for (i = 0; i < t->nelts; i++) {
-                    s->attributes_names[i] = elts[i].key;
-                    s->attributes_values[i] =
-                        (char *)apr_table_get(r->subprocess_env, elts[i].key);
-                    if (!s->attributes_values[i]) {
-                        s->attributes_values[i] = elts[i].val;
+                    s->attributes_names[i - j] = elts[i].name;
+                    s->attributes_values[i - j] =
+                        (char *)apr_table_get(r->subprocess_env, elts[i].name);
+                    if (!s->attributes_values[i - j]) {
+                        if (elts[i].has_default) {
+                            s->attributes_values[i - j] = elts[i].value;
+                        }
+                        else {
+                            s->attributes_values[i - j] = "";
+                            s->attributes_names[i - j] = "";
+                            j++;
+                        }
                     }
                 }
 
-                s->num_attributes = t->nelts;
+                s->num_attributes = t->nelts - j;
             }
         }
     }
@@ -704,7 +754,7 @@
                 s->headers_values[i] = apr_pstrdup(r->pool, elts[i].val);
                 s->headers_names[i] = hname;
                 if (need_content_length_header &&
-                    !strcasecmp(s->headers_values[i], "content-length")) {
+                    !strcasecmp(s->headers_names[i], "content-length")) {
                     need_content_length_header = JK_FALSE;
                 }
             }
@@ -889,11 +939,16 @@
         (jk_server_conf_t *) ap_get_module_config(s->module_config,
                                                   &jk_module);
 
-    /* we need an absolut path (ap_server_root_relative does the ap_pstrdup) */
+    const char *err_string = ap_check_cmd_context(cmd, GLOBAL_ONLY);
+    if (err_string != NULL) {
+        return err_string;
+    }
+
+    /* we need an absolute path (ap_server_root_relative does the ap_pstrdup) */
     conf->worker_file = ap_server_root_relative(cmd->pool, worker_file);
 
     if (conf->worker_file == NULL)
-        return "JkWorkersFile file_name invalid";
+        return "JkWorkersFile file name invalid";
 
     if (stat(conf->worker_file, &statbuf) == -1)
         return "Can't find the workers file specified";
@@ -917,7 +972,7 @@
         (jk_server_conf_t *) ap_get_module_config(s->module_config,
                                                   &jk_module);
 
-    /* we need an absolut path (ap_server_root_relative does the ap_pstrdup) */
+    /* we need an absolute path (ap_server_root_relative does the ap_pstrdup) */
     conf->mount_file = ap_server_root_relative(cmd->pool, mount_file);
 
     if (conf->mount_file == NULL)
@@ -930,6 +985,32 @@
 }
 
 /*
+ * JkMountFileReload Directive Handling
+ *
+ * JkMountFileReload seconds
+ */
+
+static const char *jk_set_mount_file_reload(cmd_parms * cmd,
+                                            void *dummy, const char *mount_file_reload)
+{
+    server_rec *s = cmd->server;
+    int interval;
+
+    jk_server_conf_t *conf =
+        (jk_server_conf_t *) ap_get_module_config(s->module_config,
+                                                  &jk_module);
+
+    interval = atoi(mount_file_reload);
+    if (interval < 0) {
+        interval = 0;
+    }
+
+    conf->mount_file_reload = interval;
+
+    return NULL;
+}
+
+/*
  * JkLogFile Directive Handling
  *
  * JkLogFile file
@@ -950,7 +1031,7 @@
         conf->log_file = apr_pstrdup(cmd->pool, log_file);
 
     if (conf->log_file == NULL)
-        return "JkLogFile file_name invalid";
+        return "JkLogFile file name invalid";
 
     return NULL;
 }
@@ -964,6 +1045,11 @@
 static const char *jk_set_shm_file(cmd_parms * cmd,
                                    void *dummy, const char *shm_file)
 {
+    const char *err_string = ap_check_cmd_context(cmd, GLOBAL_ONLY);
+    if (err_string != NULL) {
+        return err_string;
+    }
+
     /* we need an absolute path */
     jk_shm_file = ap_server_root_relative(cmd->pool, shm_file);
     if (jk_shm_file == NULL)
@@ -982,7 +1068,11 @@
                                    void *dummy, const char *shm_size)
 {
     int sz = 0;
-    /* we need an absolute path */
+    const char *err_string = ap_check_cmd_context(cmd, GLOBAL_ONLY);
+    if (err_string != NULL) {
+        return err_string;
+    }
+
     sz = atoi(shm_size) * 1024;
     if (sz < JK_SHM_DEF_SIZE)
         sz = JK_SHM_DEF_SIZE;
@@ -1020,7 +1110,13 @@
 static const char *jk_set_log_fmt(cmd_parms * cmd,
                                   void *dummy, const char *log_format)
 {
-    jk_set_log_format(log_format);
+    server_rec *s = cmd->server;
+    jk_server_conf_t *conf =
+        (jk_server_conf_t *) ap_get_module_config(s->module_config,
+                                                  &jk_module);
+
+    conf->stamp_format_string = apr_pstrdup(cmd->pool, log_format);
+
     return NULL;
 }
 
@@ -1047,6 +1143,25 @@
     return NULL;
 }
 
+/*
+ * JkStripSession directive handling
+ *
+ * JkStripSession On/Off
+ */
+
+static const char *jk_set_strip_session(cmd_parms * cmd, void *dummy, int flag)
+{
+    server_rec *s = cmd->server;
+    jk_server_conf_t *conf =
+        (jk_server_conf_t *) ap_get_module_config(s->module_config,
+                                                  &jk_module);
+
+    /* Set up our value */
+    conf->strip_session = flag ? JK_TRUE : JK_FALSE;
+
+    return NULL;
+}
+
 /*****************************************************************
  *
  * Actually logging.
@@ -1391,25 +1506,37 @@
 static const char *jk_set_request_log_format(cmd_parms * cmd,
                                              void *dummy, const char *format)
 {
-    const char *err_string = NULL;
     server_rec *s = cmd->server;
     jk_server_conf_t *conf =
         (jk_server_conf_t *) ap_get_module_config(s->module_config,
                                                   &jk_module);
 
     conf->format_string = apr_pstrdup(cmd->pool, format);
-    if (format != NULL) {
-        conf->format =
-            parse_request_log_string(cmd->pool, format, &err_string);
-    }
-    if (conf->format == NULL)
-        return "JkRequestLogFormat format array NULL";
 
-    return err_string;
+    return NULL;
 }
 
 
 /*
+ * JkWorkerIndicator Directive Handling
+ *
+ * JkWorkerIndicator JkWorker
+ */
+
+static const char *jk_set_worker_indicator(cmd_parms * cmd,
+                                           void *dummy, const char *indicator)
+{
+    server_rec *s = cmd->server;
+    jk_server_conf_t *conf =
+        (jk_server_conf_t *) ap_get_module_config(s->module_config,
+                                                  &jk_module);
+
+    conf->worker_indicator = apr_pstrdup(cmd->pool, indicator);
+
+    return NULL;
+}
+
+/*
  * JkExtractSSL Directive Handling
  *
  * JkExtractSSL On/Off
@@ -1560,6 +1687,10 @@
 
         mask = 0;
 
+        if (action == '-' && !strncasecmp(w, "ForwardURI", strlen("ForwardURI")))
+            return apr_pstrcat(cmd->pool, "JkOptions: Illegal option '-", w,
+                               "': ForwardURI* options can not be disabled", NULL);
+
         if (!strcasecmp(w, "ForwardKeySize")) {
             opt = JK_OPT_FWDKEYSIZE;
         }
@@ -1584,6 +1715,9 @@
         else if (!strcasecmp(w, "FlushPackets")) {
             opt = JK_OPT_FLUSHPACKETS;
         }
+        else if (!strcasecmp(w, "FlushHeader")) {
+            opt = JK_OPT_FLUSHEADER;
+        }
         else if (!strcasecmp(w, "DisableReuse")) {
             opt = JK_OPT_DISABLEREUSE;
         }
@@ -1594,7 +1728,7 @@
         conf->options &= ~mask;
 
         if (action == '-') {
-            conf->options &= ~opt;
+            conf->exclude_options |= opt;
         }
         else if (action == '+') {
             conf->options |= opt;
@@ -1624,7 +1758,11 @@
 
     conf->envvars_in_use = JK_TRUE;
 
-    apr_table_add(conf->envvars, env_name, default_value);
+    /* env_name is mandatory, default_value is optional.
+     * No value means send the attribute only, if the env var is set during runtime.
+     */
+    apr_table_setn(conf->envvars, env_name, default_value ? default_value : "");
+    apr_table_setn(conf->envvars_def, env_name, default_value ? "1" : "0");
 
     return NULL;
 }
@@ -1644,9 +1782,14 @@
         (jk_server_conf_t *) ap_get_module_config(s->module_config,
                                                   &jk_module);
 
-    if (jk_map_read_property(conf->worker_properties, line, conf->log) == JK_FALSE)
-        return apr_pstrcat(cmd->temp_pool, "Invalid JkWorkerProperty ", line);
+    const char *err_string = ap_check_cmd_context(cmd, GLOBAL_ONLY);
+    if (err_string != NULL) {
+        return err_string;
+    }
 
+    if (jk_map_read_property(conf->worker_properties, line, 1, conf->log) == JK_FALSE)
+        return apr_pstrcat(cmd->temp_pool, "Invalid JkWorkerProperty ", line, NULL);
+
     return NULL;
 }
 
@@ -1672,6 +1815,15 @@
                   "the name of a mount file for the Tomcat servlet uri mapping"),
 
     /*
+     * JkMountFileReload specifies the reload check interval for the
+     * uriworker properties file.
+     *
+     * Default value is: JK_URIMAP_DEF_RELOAD
+     */
+    AP_INIT_TAKE1("JkMountFileReload", jk_set_mount_file_reload, NULL, RSRC_CONF,
+                  "the reload check interval of the mount file"),
+
+    /*
      * JkAutoMount specifies that the list of handled URLs must be
      * asked to the servlet engine (autoconf feature)
      */
@@ -1700,6 +1852,13 @@
                  "Should the base server mounts be copied to the virtual server"),
 
     /*
+     * JkStripSession specifies if mod_jk should strip the ;jsessionid
+     * from the unmapped urls
+     */
+    AP_INIT_FLAG("JkStripSession", jk_set_strip_session, NULL, RSRC_CONF,
+                 "Should the server strip the jsessionid from unmapped URLs"),
+
+    /*
      * JkLogFile & JkLogLevel specifies to where should the plugin log
      * its information and how much.
      * JkLogStampFormat specify the time-stamp to be used on log
@@ -1730,6 +1889,17 @@
                   "The mod_jk module automatic context apache alias directory"),
 
     /*
+     * Enable worker name to be set in an environment variable.
+     * this way one can use LocationMatch together with mod_end,
+     * mod_setenvif and mod_rewrite to set the target worker.
+     * Use this in combination with SetHandler jakarta-servlet to
+     * make mod_jk the handler for the request.
+     *
+     */
+    AP_INIT_TAKE1("JkWorkerIndicator", jk_set_worker_indicator, NULL, RSRC_CONF,
+                  "Name of the Apache environment that contains the worker name"),
+
+    /*
      * Apache has multiple SSL modules (for example apache_ssl, stronghold
      * IHS ...). Each of these can have a different SSL environment names
      * The following properties let the administrator specify the envoiroment
@@ -1773,9 +1943,9 @@
      * JkEnvVar let user defines envs var passed from WebServer to
      * Servlet Engine
      */
-    AP_INIT_TAKE2("JkEnvVar", jk_add_env_var, NULL, RSRC_CONF,
-                  "Adds a name of environment variable that should be sent "
-                  "to servlet-engine"),
+    AP_INIT_TAKE12("JkEnvVar", jk_add_env_var, NULL, RSRC_CONF,
+                  "Adds a name of environment variable and an optional value "
+                  "that should be sent to servlet-engine"),
 
     AP_INIT_RAW_ARGS("JkWorkerProperty", jk_set_worker_property,
                      NULL, RSRC_CONF,
@@ -1817,9 +1987,10 @@
                                                       &jk_module);
     JK_TRACE_ENTER(xconf->log);
     if (apr_table_get(r->subprocess_env, "no-jk")) {
-        jk_log(xconf->log, JK_LOG_DEBUG,
-               "Into handler no-jk env var detected for uri=%s, declined",
-               r->uri);
+        if (JK_IS_DEBUG_LEVEL(xconf->log))
+            jk_log(xconf->log, JK_LOG_DEBUG,
+                   "Into handler no-jk env var detected for uri=%s, declined",
+                   r->uri);
 
         JK_TRACE_EXIT(xconf->log);
         return DECLINED;
@@ -1843,7 +2014,18 @@
            translate and
            sets the handler directly ). We still need to know the worker.
          */
-        if (worker_env.num_of_workers == 1) {
+        worker_name = apr_table_get(r->subprocess_env, xconf->worker_indicator);
+        if (worker_name) {
+          /* The JkWorkerIndicator environment variable has
+           * been used to explicitely set the worker without JkMount.
+           * This is useful in combination with LocationMatch or mod_rewrite.
+           */
+            if (JK_IS_DEBUG_LEVEL(xconf->log))
+                jk_log(xconf->log, JK_LOG_DEBUG,
+                       "Retrieved worker (%s) from env %s for %s",
+                       worker_name, xconf->worker_indicator, r->uri);
+        }
+        else if (worker_env.num_of_workers == 1) {
           /** We have a single worker ( the common case ).
               ( lb is a bit special, it should count as a single worker but
               I'm not sure how ). We also have a manual config directive that
@@ -1977,8 +2159,8 @@
 
                 duration = apr_psprintf(r->pool, "%.1ld.%.6ld", seconds, micro);
                 apr_table_setn(r->notes, JK_NOTE_REQUEST_DURATION, duration);
-                if (s.jvm_route && *s.jvm_route)
-                    apr_table_setn(r->notes, JK_NOTE_WORKER_ROUTE, s.jvm_route);
+                if (s.route && *s.route)
+                    apr_table_setn(r->notes, JK_NOTE_WORKER_ROUTE, s.route);
 
                 request_log_transaction(r, xconf);
             }
@@ -2079,44 +2261,49 @@
     c->worker_file = NULL;
     c->mount_file = NULL;
     c->log_file = NULL;
-    c->log_level = JK_LOG_DEF_LEVEL;
     c->log = NULL;
     c->alias_dir = NULL;
+    c->stamp_format_string = NULL;
     c->format_string = NULL;
     c->format = NULL;
     c->mountcopy = JK_FALSE;
+    c->exclude_options = 0;
     c->was_initialized = JK_FALSE;
-    c->options = JK_OPT_FWDURIDEFAULT;
 
-    /*
-     * By default we will try to gather SSL info.
-     * Disable this functionality through JkExtractSSL
-     */
-    c->ssl_enable = JK_TRUE;
-    /*
-     * The defaults ssl indicators match those in mod_ssl (seems
-     * to be in more use).
-     */
-    c->https_indicator = "HTTPS";
-    c->certs_indicator = "SSL_CLIENT_CERT";
+    if (s->is_virtual) {
+        c->mount_file_reload = JK_UNSET;
+        c->log_level = JK_UNSET;
+        c->options = 0;
+        c->worker_indicator = NULL;
+        c->ssl_enable = JK_UNSET;
+        c->https_indicator = NULL;
+        c->certs_indicator = NULL;
+        c->cipher_indicator = NULL;
+        c->session_indicator = NULL;
+        c->key_size_indicator = NULL;
+        c->strip_session = JK_UNSET;
+    } else {
+        c->mount_file_reload = JK_URIMAP_DEF_RELOAD;
+        c->log_level = JK_LOG_DEF_LEVEL;
+        c->options = JK_OPT_FWDURIDEFAULT;
+        c->worker_indicator = JK_ENV_WORKER_NAME;
+        /*
+         * By default we will try to gather SSL info.
+         * Disable this functionality through JkExtractSSL
+         */
+        c->ssl_enable = JK_TRUE;
+        /*
+         * The defaults ssl indicators match those in mod_ssl (seems
+         * to be in more use).
+         */
+        c->https_indicator = JK_ENV_HTTPS;
+        c->certs_indicator = JK_ENV_CERTS;
+        c->cipher_indicator = JK_ENV_CIPHER;
+        c->session_indicator = JK_ENV_SESSION;
+        c->key_size_indicator = JK_ENV_KEY_SIZE;
+        c->strip_session = JK_FALSE;
+    }
 
-    /*
-     * The following (comented out) environment variables match apache_ssl!
-     * If you are using apache_sslapache_ssl uncomment them (or use the
-     * configuration directives to set them.
-     *
-     c->cipher_indicator = "HTTPS_CIPHER";
-     c->session_indicator = NULL;
-     */
-
-    /*
-     * The following environment variables match mod_ssl! If you
-     * are using another module (say apache_ssl) comment them out.
-     */
-    c->cipher_indicator = "SSL_CIPHER";
-    c->session_indicator = "SSL_SESSION_ID";
-    c->key_size_indicator = "SSL_CIPHER_USEKEYSIZE";
-
     if (!jk_map_alloc(&(c->uri_to_context))) {
         jk_error_exit(APLOG_MARK, APLOG_EMERG, s, p, "Memory error");
     }
@@ -2129,6 +2316,8 @@
 
     c->envvars_in_use = JK_FALSE;
     c->envvars = apr_table_make(p, 0);
+    c->envvars_def = apr_table_make(p, 0);
+    c->envvar_items = apr_array_make(p, 0, sizeof(envvar_item));
 
     c->s = s;
     jk_map_put(c->worker_properties, "ServerRoot", ap_server_root, NULL);
@@ -2164,38 +2353,78 @@
     jk_server_conf_t *base = (jk_server_conf_t *) basev;
     jk_server_conf_t *overrides = (jk_server_conf_t *) overridesv;
 
-    if (base->ssl_enable) {
+    if (!overrides->log_file)
+        overrides->log_file = base->log_file;
+    if (overrides->log_level == JK_UNSET)
+        overrides->log_level = base->log_level;
+
+    if (!overrides->stamp_format_string)
+        overrides->stamp_format_string = base->stamp_format_string;
+    if (!overrides->format_string)
+        overrides->format_string = base->format_string;
+
+    if (!overrides->worker_indicator)
+        overrides->worker_indicator = base->worker_indicator;
+
+    if (overrides->ssl_enable == JK_UNSET)
         overrides->ssl_enable = base->ssl_enable;
+    if (!overrides->https_indicator)
         overrides->https_indicator = base->https_indicator;
+    if (!overrides->certs_indicator)
         overrides->certs_indicator = base->certs_indicator;
+    if (!overrides->cipher_indicator)
         overrides->cipher_indicator = base->cipher_indicator;
+    if (!overrides->session_indicator)
         overrides->session_indicator = base->session_indicator;
+    if (!overrides->key_size_indicator)
+        overrides->key_size_indicator = base->key_size_indicator;
+
+    if (!overrides->secret_key)
+        overrides->secret_key = base->secret_key;
+
+    overrides->options |= (base->options & ~base->exclude_options);
+
+    if (base->envvars_in_use) {
+        int i;
+        const apr_array_header_t *arr;
+        const apr_table_entry_t *elts;
+
+        arr = apr_table_elts(base->envvars);
+        if (arr) {
+            overrides->envvars_in_use = JK_TRUE;
+            elts = (const apr_table_entry_t *)arr->elts;
+            for (i = 0; i < arr->nelts; ++i) {
+                if (!apr_table_get(overrides->envvars, elts[i].key)) {
+                    apr_table_setn(overrides->envvars, elts[i].key, elts[i].val);
+                }
+            }
+        }
+        arr = apr_table_elts(base->envvars_def);
+        if (arr) {
+            overrides->envvars_in_use = JK_TRUE;
+            elts = (const apr_table_entry_t *)arr->elts;
+            for (i = 0; i < arr->nelts; ++i) {
+                if (!apr_table_get(overrides->envvars_def, elts[i].key)) {
+                    apr_table_setn(overrides->envvars_def, elts[i].key, elts[i].val);
+                }
+            }
+        }
     }
 
-    overrides->options = base->options;
-
+    if (overrides->mount_file_reload == JK_UNSET)
+        overrides->mount_file_reload = base->mount_file_reload;
     if (overrides->mountcopy) {
         copy_jk_map(p, overrides->s, base->uri_to_context,
                     overrides->uri_to_context);
         copy_jk_map(p, overrides->s, base->automount, overrides->automount);
-        overrides->mount_file = base->mount_file;
+        if (!overrides->mount_file)
+            overrides->mount_file = base->mount_file;
+        if (!overrides->alias_dir)
+            overrides->alias_dir = base->alias_dir;
     }
+    if (overrides->strip_session == JK_UNSET)
+        overrides->strip_session = base->strip_session;
 
-    if (base->envvars_in_use) {
-        overrides->envvars_in_use = JK_TRUE;
-        overrides->envvars = apr_table_overlay(p, overrides->envvars,
-                                               base->envvars);
-    }
-
-    if (!uri_worker_map_alloc(&(overrides->uw_map),
-                              overrides->uri_to_context, overrides->log)) {
-        jk_error_exit(APLOG_MARK, APLOG_EMERG, overrides->s,
-                      overrides->s->process->pool, "Memory error");
-    }
-
-    if (base->secret_key)
-        overrides->secret_key = base->secret_key;
-
     return overrides;
 }
 
@@ -2253,7 +2482,7 @@
 static apr_status_t jklog_cleanup(void *d)
 {
     /* set the main_log to NULL */
-    main_log = NULL;
+    d = NULL;
     return APR_SUCCESS;
 }
 
@@ -2262,6 +2491,7 @@
     jk_server_conf_t *conf;
     const char *fname;
     apr_status_t rc;
+    apr_file_t *jklogfp;
     piped_log *pl;
     jk_logger_t *jkl;
     file_logger_t *flp;
@@ -2271,53 +2501,63 @@
 
     conf = ap_get_module_config(s->module_config, &jk_module);
 
-    if (main_log != NULL) {
-        conf->log = main_log;
-        return 0;
-    }
     if (conf->log_file == NULL) {
-        return 0;
+        conf->log_file = ap_server_root_relative(p, JK_LOG_DEF_FILE);
+        if (conf->log_file)
+            ap_log_error(APLOG_MARK, APLOG_INFO | APLOG_NOERRNO,
+                         0, s,
+                         "No JkLogFile defined in httpd.conf. "
+                         "Using default %s", conf->log_file);
     }
     if (*(conf->log_file) == '\0') {
+        ap_log_error(APLOG_MARK, APLOG_ERR, APR_EBADPATH, s,
+                     "mod_jk: Invalid JkLogFile EMPTY");
+        conf->log = main_log;
         return 0;
     }
 
-    if (*conf->log_file == '|') {
-        if ((pl = ap_open_piped_log(p, conf->log_file + 1)) == NULL) {
-            ap_log_error(APLOG_MARK, APLOG_ERR, 0, s,
-                         "mod_jk: could not open reliable pipe "
-                         "to jk log %s", conf->log_file + 1);
-            return -1;
+    jklogfp = apr_hash_get(jk_log_fps, conf->log_file, APR_HASH_KEY_STRING);
+    if (!jklogfp) {
+        if (*conf->log_file == '|') {
+            if ((pl = ap_open_piped_log(p, conf->log_file + 1)) == NULL) {
+                ap_log_error(APLOG_MARK, APLOG_ERR, 0, s,
+                             "mod_jk: could not open reliable pipe "
+                             "to jk log %s", conf->log_file + 1);
+                return -1;
+            }
+            jklogfp = (void *)ap_piped_log_write_fd(pl);
         }
-        conf->jklogfp = (void *)ap_piped_log_write_fd(pl);
-    }
-    else {
-        fname = ap_server_root_relative(p, conf->log_file);
-        if (!fname) {
-            ap_log_error(APLOG_MARK, APLOG_ERR, APR_EBADPATH, s,
-                         "mod_jk: Invalid JkLog " "path %s", conf->log_file);
-            return -1;
+        else {
+            fname = ap_server_root_relative(p, conf->log_file);
+            if (!fname) {
+                ap_log_error(APLOG_MARK, APLOG_ERR, APR_EBADPATH, s,
+                             "mod_jk: Invalid JkLog " "path %s", conf->log_file);
+                return -1;
+            }
+            if ((rc = apr_file_open(&jklogfp, fname,
+                                    jklog_flags, jklog_mode, p))
+                != APR_SUCCESS) {
+                ap_log_error(APLOG_MARK, APLOG_ERR, rc, s,
+                             "mod_jk: could not open JkLog " "file %s", fname);
+                return -1;
+            }
         }
-        if ((rc = apr_file_open(&conf->jklogfp, fname,
-                                jklog_flags, jklog_mode, p))
-            != APR_SUCCESS) {
-            ap_log_error(APLOG_MARK, APLOG_ERR, rc, s,
-                         "mod_jk: could not open JkLog " "file %s", fname);
-            return -1;
-        }
-        apr_file_inherit_set(conf->jklogfp);
+        apr_file_inherit_set(jklogfp);
+        apr_hash_set(jk_log_fps, conf->log_file, APR_HASH_KEY_STRING, jklogfp);
     }
+    conf->jklogfp = jklogfp;
     jkl = (jk_logger_t *)apr_palloc(p, sizeof(jk_logger_t));
     flp = (file_logger_t *) apr_palloc(p, sizeof(file_logger_t));
     if (jkl && flp) {
         jkl->log = jk_log_to_file;
         jkl->level = conf->log_level;
+        jkl->log_fmt = conf->stamp_format_string;
         jkl->logger_private = flp;
         flp->jklogfp = conf->jklogfp;
         conf->log = jkl;
         if (main_log == NULL)
             main_log = conf->log;
-        apr_pool_cleanup_register(p, main_log, jklog_cleanup, jklog_cleanup);
+        apr_pool_cleanup_register(p, conf->log, jklog_cleanup, jklog_cleanup);
         return 0;
     }
 
@@ -2351,7 +2591,7 @@
                                      jk_cleanup_shmem);
     }
     else
-        jk_log(conf->log, JK_LOG_ERROR, "Attachning shm:%s errno=%d",
+        jk_log(conf->log, JK_LOG_ERROR, "Attaching shm:%s errno=%d",
                jk_shm_name(), rc);
 
     if (JK_IS_DEBUG_LEVEL(conf->log))
@@ -2368,7 +2608,7 @@
     SetHandler and normal apache directives ( but minimal jk-specific
     stuff )
 */
-static void init_jk(apr_pool_t * pconf, jk_server_conf_t * conf,
+static int init_jk(apr_pool_t * pconf, jk_server_conf_t * conf,
                     server_rec * s)
 {
     int rc;
@@ -2379,7 +2619,7 @@
 
 #if !defined(WIN32) && !defined(NETWARE)
     if (!jk_shm_file) {
-        jk_shm_file = ap_server_root_relative(pconf, "logs/jk-runtime-status");
+        jk_shm_file = ap_server_root_relative(pconf, JK_SHM_DEF_FILE);
         if (jk_shm_file)
             ap_log_error(APLOG_MARK, APLOG_INFO | APLOG_NOERRNO,
                          0, NULL,
@@ -2415,37 +2655,38 @@
     if (ap_mpm_query(AP_MPMQ_MAX_THREADS, &mpm_threads) != APR_SUCCESS)
         mpm_threads = 1;
 #endif
-     jk_set_worker_def_cache_size(mpm_threads);
+    jk_set_worker_def_cache_size(mpm_threads);
 
-    if (!uri_worker_map_alloc(&(conf->uw_map),
-                              conf->uri_to_context,
-                              conf->log)) {
-        jk_error_exit(APLOG_MARK, APLOG_EMERG, s, pconf, "Memory error");
-    }
-
     /*     if(map_alloc(&init_map)) { */
-    if (!jk_map_read_properties(init_map, conf->worker_file, NULL, conf->log)) {
+    if (!jk_map_read_properties(init_map, conf->worker_file, NULL, 1, conf->log)) {
         if (jk_map_size(init_map) == 0) {
             ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_CRIT,
                          0, NULL,
                          "No worker file and no worker options in httpd.conf"
                          "use JkWorkerFile to set workers");
-            return;
         }
+        ap_log_error(APLOG_MARK, APLOG_EMERG | APLOG_NOERRNO, 0, NULL, "Error in reading worker properties");
+        return !OK;
     }
 
     if (jk_map_resolve_references(init_map, "worker.", 1, 1, conf->log) == JK_FALSE) {
-        jk_error_exit(APLOG_MARK, APLOG_EMERG, s, pconf, "Error in resolving configuration references");
+        ap_log_error(APLOG_MARK, APLOG_EMERG | APLOG_NOERRNO, 0, NULL, "Error in resolving configuration references");
+        return !OK;
     }
 
     /* we add the URI->WORKER MAP since workers using AJP14
        will feed it */
     worker_env.uri_to_worker = conf->uw_map;
     worker_env.virtual = "*";   /* for now */
+#if (MODULE_MAGIC_NUMBER_MAJOR > 20060110)
+    worker_env.server_name = (char *)ap_get_server_banner();
+#else
     worker_env.server_name = (char *)ap_get_server_version();
+#endif
     if (wc_open(init_map, &worker_env, conf->log)) {
         ap_add_version_component(pconf, JK_EXPOSED_VERSION);
     }
+    return OK;
 }
 
 static int jk_post_config(apr_pool_t * pconf,
@@ -2455,6 +2696,7 @@
     apr_status_t rv;
     jk_server_conf_t *conf;
     server_rec *srv = s;
+    const char *err_string = NULL;
 
     /* create the jk log lockfiles in the parent */
     if ((rv = apr_global_mutex_create(&jk_log_lock, NULL,
@@ -2475,28 +2717,72 @@
     }
 #endif
 
+    jk_log_fps = apr_hash_make(pconf);
+
     if (!s->is_virtual) {
         conf = (jk_server_conf_t *)ap_get_module_config(s->module_config,
                                                         &jk_module);
         if (!conf->was_initialized) {
             conf->was_initialized = JK_TRUE;
-            /* step through the servers and open each jk logfile.
+            /* step through the servers and open each jk logfile
+             * and do additional post config initialization.
              */
             for (; srv; srv = srv->next) {
+                jk_server_conf_t *sconf = (jk_server_conf_t *)ap_get_module_config(srv->module_config,
+                                                                                   &jk_module);
                 if (open_jklog(srv, pconf))
                     return HTTP_INTERNAL_SERVER_ERROR;
+                if (sconf) {
+                    if (!uri_worker_map_alloc(&(sconf->uw_map),
+                                              sconf->uri_to_context, sconf->log))
+                        jk_error_exit(APLOG_MARK, APLOG_EMERG, srv,
+                                      srv->process->pool, "Memory error");
+                    if (sconf->mount_file) {
+                        sconf->uw_map->fname = sconf->mount_file;
+                        sconf->uw_map->reload = sconf->mount_file_reload;
+                        uri_worker_map_load(sconf->uw_map, sconf->log);
+                    }
+                    if (sconf->format_string) {
+                        sconf->format =
+                            parse_request_log_string(pconf, sconf->format_string, &err_string);
+                        if (sconf->format == NULL)
+                            ap_log_error(APLOG_MARK, APLOG_ERR, 0, s,
+                                         "JkRequestLogFormat format array NULL");
+                    }
+                    sconf->options &= ~sconf->exclude_options;
+                    if (sconf->envvars_in_use) {
+                        int i;
+                        const apr_array_header_t *arr;
+                        const apr_table_entry_t *elts;
+                        envvar_item *item;
+                        const char *envvar_def;
+
+                        arr = apr_table_elts(sconf->envvars);
+                        if (arr) {
+                            elts = (const apr_table_entry_t *)arr->elts;
+                            for (i = 0; i < arr->nelts; ++i) {
+                                item = (envvar_item *)apr_array_push(sconf->envvar_items);
+                                if (!item)
+                                    return HTTP_INTERNAL_SERVER_ERROR;
+                                item->name = elts[i].key;
+                                envvar_def = apr_table_get(sconf->envvars_def, elts[i].key);
+                                if (envvar_def && !strcmp("1", envvar_def) ) {
+                                    item->value = elts[i].val;
+                                    item->has_default = 1;
+                                }
+                                else {
+                                    item->value = "";
+                                    item->has_default = 0;
+                                }
+                            }
+                        }
+                    }
+                }
             }
-            init_jk(pconf, conf, s);
+            if (init_jk(pconf, conf, s))
+                return HTTP_INTERNAL_SERVER_ERROR;
         }
     }
-    for (srv = s; srv; srv = srv->next) {
-        conf = (jk_server_conf_t *)ap_get_module_config(srv->module_config,
-                                                        &jk_module);
-        if (conf && conf->mount_file) {
-            conf->uw_map->fname = conf->mount_file;
-            uri_worker_map_load(conf->uw_map, conf->log);
-        }
-    }
 
     return OK;
 }
@@ -2513,7 +2799,7 @@
                                                       &jk_module);
 
         if (conf) {
-            const char *worker;
+            const char *worker;            
             if ((r->handler != NULL) && (!strcmp(r->handler, JK_HANDLER))) {
                 /* Somebody already set the handler, probably manual config
                  * or "native" configuration, no need for extra overhead
@@ -2576,10 +2862,9 @@
                 apr_table_setn(r->notes, JK_NOTE_WORKER_NAME, worker);
 
                 /* This could be a sub-request, possibly from mod_dir */
-                /* Also set the HANDLER and uri for subrequest */
+                /* Also add the the HANDLER to the main request */
                 if (r->main) {
                     r->main->handler = apr_pstrdup(r->main->pool, JK_HANDLER);
-                    r->main->uri = apr_pstrdup(r->main->pool, r->uri);
                     apr_table_setn(r->main->notes, JK_NOTE_WORKER_NAME, worker);
                 }
 
@@ -2591,7 +2876,7 @@
                 /* Automatically map uri to a context static file */
                 if (JK_IS_DEBUG_LEVEL(conf->log))
                     jk_log(conf->log, JK_LOG_DEBUG,
-                           "mod_jk::jk_translate, check alias_dir: %s",
+                           "check alias_dir: %s",
                            conf->alias_dir);
                 if (strlen(clean_uri) > 1) {
                     /* Get the context directory name */
@@ -2617,13 +2902,13 @@
                         if (child_dir != NULL) {
                             if (JK_IS_DEBUG_LEVEL(conf->log))
                                 jk_log(conf->log, JK_LOG_DEBUG,
-                                       "mod_jk::jk_translate, AutoAlias child_dir: %s",
+                                       "AutoAlias child_dir: %s",
                                        child_dir);
                             if (!strcasecmp(child_dir, "WEB-INF")
                                 || !strcasecmp(child_dir, "META-INF")) {
                                 if (JK_IS_DEBUG_LEVEL(conf->log))
                                     jk_log(conf->log, JK_LOG_DEBUG,
-                                           "mod_jk::jk_translate, AutoAlias HTTP_NOT_FOUND for URI: %s",
+                                           "AutoAlias HTTP_NOT_FOUND for URI: %s",
                                            r->uri);
                                 return HTTP_NOT_FOUND;
                             }
@@ -2652,7 +2937,7 @@
                             if (ret != NULL) {
                                 if (JK_IS_DEBUG_LEVEL(conf->log))
                                     jk_log(conf->log, JK_LOG_DEBUG,
-                                           "mod_jk::jk_translate, AutoAlias OK for file: %s",
+                                           "AutoAlias OK for file: %s",
                                            ret);
                                 r->filename = ret;
                                 return OK;
@@ -2666,7 +2951,7 @@
                                                ".war")) {
                                 if (JK_IS_DEBUG_LEVEL(conf->log))
                                     jk_log(conf->log, JK_LOG_DEBUG,
-                                           "mod_jk::jk_translate, AutoAlias HTTP_FORBIDDEN for URI: %s",
+                                           "AutoAlias HTTP_FORBIDDEN for URI: %s",
                                            r->uri);
                                 return HTTP_FORBIDDEN;
                             }
@@ -2723,6 +3008,25 @@
                     apr_table_setn(r->main->notes, JK_NOTE_WORKER_NAME, worker);
 
             }
+            else if (conf->strip_session == JK_TRUE) {
+                char *jsessionid;
+                if (r->uri) {
+                    jsessionid = strstr(r->uri, JK_PATH_SESSION_IDENTIFIER);
+                    if (jsessionid) {
+                        if (JK_IS_DEBUG_LEVEL(conf->log))
+                            jk_log(conf->log, JK_LOG_DEBUG,
+                                   "removing session identifier [%s] for non servlet url [%s]",
+                                   jsessionid, r->uri);
+                        *jsessionid = '\0';
+                    }
+                }
+                if (r->filename) {
+                    jsessionid = strstr(r->filename, JK_PATH_SESSION_IDENTIFIER);
+                    if (jsessionid)
+                        *jsessionid = '\0';
+                }
+                return DECLINED;
+            }
         }
     }
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp12_worker.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp12_worker.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp12_worker.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
  *              This worker is deprecated                                  *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  * Based on:    jserv_ajpv12.c from Jserv                                  *
- * Version:     $Revision: 434177 $                                          *
+ * Version:     $Revision: 481770 $                                          *
  ***************************************************************************/
 
 #include "jk_ajp12_worker.h"
@@ -399,7 +400,7 @@
            ajpv12_sendstring(p, s->server_name) &&
 #endif
            ajpv12_sendint(p, s->server_port) && ajpv12_sendstring(p, s->protocol) && ajpv12_sendstring(p, 0) && /* SERVER_SIGNATURE */
-           ajpv12_sendstring(p, s->server_software) && ajpv12_sendstring(p, s->jvm_route) &&    /* JSERV_ROUTE */
+           ajpv12_sendstring(p, s->server_software) && ajpv12_sendstring(p, s->route) &&    /* JSERV_ROUTE */
            ajpv12_sendstring(p, "") &&  /* JSERV ajpv12 compatibility */
            ajpv12_sendstring(p, ""));   /* JSERV ajpv12 compatibility */
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp12_worker.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp12_worker.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp12_worker.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: ajpv1.2 worker header file                                 *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 300224 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 #ifndef JK_AJP12_WORKER_H

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
  * Description: Experimental bi-directionl protocol handler.               *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 300145 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Experimental bi-directionl protocol handler.               *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 440649 $                                           *
+ * Version:     $Revision: 483021 $                                           *
  ***************************************************************************/
 #ifndef JK_AJP13_H
 #define JK_AJP13_H
@@ -43,6 +44,7 @@
 #define JK_SERVER_ERROR             (-5)
 #define JK_CLIENT_RD_ERROR          (-6)
 #define JK_CLIENT_WR_ERROR          (-7)
+#define JK_STATUS_ERROR             (-8)
 
 #define AJP13_MAX_SEND_BODY_SZ      (DEF_BUFFER_SZ - 6)
 #define AJP13_DEF_TIMEOUT           (0) /* Idle timout for pooled connections */

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13_worker.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13_worker.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13_worker.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
  * Author:      Costin <costin at costin.dnt.ro>                              *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 300520 $                                          *
+ * Version:     $Revision: 466585 $                                          *
  ***************************************************************************/
 
 #include "jk_ajp13_worker.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13_worker.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13_worker.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp13_worker.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: ajpv1.3 worker header file                                 *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 300224 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 #ifndef JK_AJP13_WORKER_H

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Next generation bi-directional protocol handler.           *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 300507 $                                          *
+ * Version:     $Revision: 466585 $                                          *
  ***************************************************************************/
 
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Next generation bi-directional protocol handler.           *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 300154 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 #ifndef JK_AJP14_H
 #define JK_AJP14_H

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14_worker.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14_worker.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14_worker.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: AJP14 next generation Bi-directional protocol.             *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 300520 $                                          *
+ * Version:     $Revision: 478210 $                                          *
  ***************************************************************************/
 
 #include "jk_context.h"
@@ -111,7 +112,7 @@
                    "worker %s will handle uri %s in context %s [%s]",
                    ae->worker->name, ci->uris[j], ci->cbase, buf);
 
-            uri_worker_map_add(we->uri_to_worker, buf, ae->worker->name, l);
+            uri_worker_map_add(we->uri_to_worker, buf, ae->worker->name, SOURCE_TYPE_DISCOVER, l);
         }
     }
 
@@ -121,11 +122,11 @@
 #else
 
     uri_worker_map_add(we->uri_to_worker, "/examples/servlet/*",
-                       ae->worker->name, l);
+                       ae->worker->name, SOURCE_TYPE_DISCOVER, l);
     uri_worker_map_add(we->uri_to_worker, "/examples/*.jsp", ae->worker->name,
-                       l);
+                       SOURCE_TYPE_DISCOVER, l);
     uri_worker_map_add(we->uri_to_worker, "/examples/*.gif", ae->worker->name,
-                       l);
+                       SOURCE_TYPE_DISCOVER, l);
 
 #endif
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14_worker.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14_worker.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp14_worker.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: ajpv14 worker header file                                  *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 300224 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 #ifndef JK_AJP14_WORKER_H

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp_common.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp_common.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp_common.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
  * Description: common stuff for bi-directional protocols ajp13/ajp14.     *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 440790 $                                          *
+ * Version:     $Revision: 500805 $                                          *
  ***************************************************************************/
 
 
@@ -347,7 +348,7 @@
     ?remote_user   (byte)(string)
     ?auth_type     (byte)(string)
     ?query_string  (byte)(string)
-    ?jvm_route     (byte)(string)
+    ?route         (byte)(string)
     ?ssl_cert      (byte)(string)
     ?ssl_cipher    (byte)(string)
     ?ssl_session   (byte)(string)
@@ -456,11 +457,11 @@
             return JK_FALSE;
         }
     }
-    if (s->jvm_route) {
-        if (jk_b_append_byte(msg, SC_A_JVM_ROUTE) ||
-            jk_b_append_string(msg, s->jvm_route)) {
+    if (s->route) {
+        if (jk_b_append_byte(msg, SC_A_ROUTE) ||
+            jk_b_append_string(msg, s->route)) {
             jk_log(l, JK_LOG_ERROR,
-                   "failed appending the jvm route");
+                   "failed appending the route");
             JK_TRACE_EXIT(l);
             return JK_FALSE;
         }
@@ -679,12 +680,12 @@
 
 static void ajp_reset_endpoint(ajp_endpoint_t * ae, jk_logger_t *l)
 {
-    if (ae->sd > 0 && !ae->reuse) {
+    if (IS_VALID_SOCKET(ae->sd) && !ae->reuse) {
         jk_close_socket(ae->sd);
         if (JK_IS_DEBUG_LEVEL(l))
             jk_log(l, JK_LOG_DEBUG,
-                   "reset socket with sd = %d", ae->sd);
-        ae->sd = -1;
+            "reset socket with sd = %u", ae->sd );
+        ae->sd = JK_INVALID_SOCKET;
     }
     jk_reset_pool(&(ae->pool));
 }
@@ -759,6 +760,7 @@
         rc = select((int)ae->sd + 1, &rset, NULL, NULL, &tv);
     } while (rc < 0 && errno == EINTR);
 
+    ae->last_errno = 0;
     if (rc == 0) {
         /* Timeout. Set the errno to timeout */
 #if defined(WIN32) || (defined(NETWARE) && defined(__NOVELL_LIBC__))
@@ -766,11 +768,13 @@
 #else
         errno = ETIMEDOUT;
 #endif
+        ae->last_errno = errno;
         return JK_FALSE;
     }
     else if (rc < 0) {
+        ae->last_errno = errno;
         jk_log(l, JK_LOG_WARNING,
-               "error during select err=%d", errno);
+               "error during select (errno=%d)", ae->last_errno);
         return JK_FALSE;
     }
     else
@@ -870,8 +874,8 @@
     ae->last_errno = errno;
 
     jk_log(l, JK_LOG_INFO,
-           "Failed opening socket to (%s) with (errno=%d)",
-           jk_dump_hinfo(&ae->worker->worker_inet_addr, buf), errno);
+           "Failed opening socket to (%s) (errno=%d)",
+           jk_dump_hinfo(&ae->worker->worker_inet_addr, buf), ae->last_errno);
     JK_TRACE_EXIT(l);
     return JK_FALSE;
 }
@@ -912,7 +916,7 @@
     }
     ae->last_errno = errno;
     jk_log(l, JK_LOG_ERROR,
-           "sendfull returned %d with errno=%d ", rc, ae->last_errno);
+           "sendfull returned %d (errno=%d)", rc, ae->last_errno);
 
     JK_TRACE_EXIT(l);
     return JK_FALSE;
@@ -946,9 +950,9 @@
         else {
             jk_log(l, JK_LOG_ERROR,
                    "(%s) can't receive the response message from tomcat, "
-                   "network problems or tomcat is down (%s), err=%d",
-                   ae->worker->name, jk_dump_hinfo(&ae->worker->worker_inet_addr,
-                                                   buf), rc);
+                   "network problems or tomcat (%s) is down (errno=%d)",
+                   ae->worker->name, jk_dump_hinfo(&ae->worker->worker_inet_addr, buf),
+                   ae->last_errno);
              JK_TRACE_EXIT(l);
         }
         return JK_FALSE;
@@ -1012,13 +1016,24 @@
     rc = jk_tcp_socket_recvfull(ae->sd, msg->buf, msglen);
     if (rc < 0) {
         ae->last_errno = errno;
-        jk_log(l, JK_LOG_ERROR,
-               "(%s) can't receive the response message from tomcat, "
-               "network problems or tomcat (%s) is down %d",
-               ae->worker->name, jk_dump_hinfo(&ae->worker->worker_inet_addr, buf),
-                                               rc);
-        JK_TRACE_EXIT(l);
-        return JK_FALSE;
+        if (rc == JK_SOCKET_EOF) {
+            jk_log(l, JK_LOG_ERROR,
+                   "(%s) can't receive the response message from tomcat, "
+                   "tomcat (%s) has forced a connection close for socket %d",
+                   ae->worker->name, jk_dump_hinfo(&ae->worker->worker_inet_addr, buf),
+                   ae->sd);
+            JK_TRACE_EXIT(l);
+            return JK_FALSE;
+        }
+        else {
+            jk_log(l, JK_LOG_ERROR,
+                   "(%s) can't receive the response message from tomcat, "
+                   "network problems or tomcat (%s) is down (errno=%d)",
+                   ae->worker->name, jk_dump_hinfo(&ae->worker->worker_inet_addr, buf),
+                   ae->last_errno);
+            JK_TRACE_EXIT(l);
+            return JK_FALSE;
+        }
     }
     ae->last_errno = 0;
     ae->endpoint.rd += rc;
@@ -1107,7 +1122,7 @@
 
     if ((len = ajp_read_fully_from_server(r, l, read_buf, len)) < 0) {
         jk_log(l, JK_LOG_INFO,
-               "(%) receiving data from client failed. "
+               "(%s) receiving data from client failed. "
                "Connection aborted or network problems",
                ae->worker->name);
         JK_TRACE_EXIT(l);
@@ -1165,24 +1180,30 @@
     while (IS_VALID_SOCKET(ae->sd)) {
         int rc = 0;
         err = 0;
-        if (ae->worker->socket_timeout) {
-            if (!jk_is_socket_connected(ae->sd)) {
-                jk_log(l, JK_LOG_INFO,
-                       "(%s) socket %d is not connected any more (errno=%d)",
-                       ae->worker->name, ae->sd, errno);
-                jk_close_socket(ae->sd);
-                ae->sd = JK_INVALID_SOCKET;
-                err++;
-            }
+        if (!jk_is_socket_connected(ae->sd)) {
+            jk_log(l, JK_LOG_DEBUG,
+                   "(%s) socket %d is not connected any more (errno=%d)",
+                   ae->worker->name, ae->sd, errno);
+            jk_close_socket(ae->sd);
+            ae->sd = JK_INVALID_SOCKET;
+            err = 1;
         }
-        if (ae->worker->prepost_timeout != 0 && !err) {
+        if (ae->worker->prepost_timeout > 0 && !err) {
             /* handle cping/cpong if prepost_timeout is set
              * If the socket is disconnected no need to handle
              * the cping/cpong
              */
-            if (ajp_handle_cping_cpong(ae, ae->worker->prepost_timeout, l) ==
-                JK_FALSE)
-                err++;
+            if (ajp_handle_cping_cpong(ae,
+                        ae->worker->prepost_timeout, l) == JK_FALSE) {
+                /* XXX: Is there any reason to try other
+                 * connections to the node if one of them fails
+                 * the cping/cpong heartbeat?
+                 * Tomcat can be either too busy or simply dead, so
+                 * there is a chance that all oter connections would
+                 * fail as well.
+                 */
+                err = 2;
+            }
         }
 
         /* If we got an error or can't send data, then try to get a pooled
@@ -1198,9 +1219,11 @@
             }
             else {
                 op->recoverable = JK_FALSE;
-                jk_log(l, JK_LOG_INFO,
+                jk_log(l, JK_LOG_ERROR,
                        "(%s) error sending request. Unrecoverable operation",
                        ae->worker->name);
+                jk_close_socket(ae->sd);
+                ae->sd = JK_INVALID_SOCKET;
                 JK_TRACE_EXIT(l);
                 return JK_FALSE;
             }
@@ -1216,7 +1239,10 @@
         if (err) {
             /* XXX: If err is set, the tomcat is either dead or disconnected */
             jk_log(l, JK_LOG_INFO,
-                   "(%s) all endpoints are disconnected or dead",
+                   "(%s) all endpoints are %s",
+                   ae->worker->name, err == 1 ? "disconnected" : "dead");
+            jk_log(l, JK_LOG_INFO,
+                   "(%s) increase the backend idle connection timeout or the connection_pool_minsize",
                    ae->worker->name);
             JK_TRACE_EXIT(l);
             return JK_FALSE;
@@ -1232,7 +1258,7 @@
             if (ajp_connection_tcp_send_message(ae, op->request, l) != JK_TRUE) {
                 /* Close the socket if unable to send request */
                 jk_close_socket(ae->sd);
-                ae->sd = -1;
+                ae->sd = JK_INVALID_SOCKET;
                 jk_log(l, JK_LOG_INFO,
                        "(%s) error sending request on a fresh connection (errno=%d)",
                        ae->worker->name, ae->last_errno);
@@ -1296,7 +1322,7 @@
             if (ajp_connection_tcp_send_message(ae, s->reco_buf, l) != JK_TRUE) {
                 /* Close the socket if unable to send request */
                 jk_close_socket(ae->sd);
-                ae->sd = -1;
+                ae->sd = JK_INVALID_SOCKET;
                 jk_log(l, JK_LOG_ERROR,
                        "(%s) failed resending request body (lb mode) (%d)",
                        ae->worker->name, postlen);
@@ -1346,7 +1372,7 @@
             if (ajp_connection_tcp_send_message(ae, op->post, l) != JK_TRUE) {
                 /* Close the socket if unable to send request */
                 jk_close_socket(ae->sd);
-                ae->sd = -1;
+                ae->sd = JK_INVALID_SOCKET;
                 jk_log(l, JK_LOG_ERROR, "(%s) error sending request body",
                        ae->worker->name);
                 JK_TRACE_EXIT(l);
@@ -1384,6 +1410,9 @@
                               (const char *const *)res.header_names,
                               (const char *const *)res.header_values,
                               res.num_headers);
+            if (r->flush && r->flush_header)
+                r->flush(r);
+            r->http_response_status = res.status;
         }
         return JK_AJP13_SEND_HEADERS;
 
@@ -1406,14 +1435,23 @@
                 JK_TRACE_EXIT(l);
                 return JK_INTERNAL_ERROR;
             }
-            if (!r->write(r, msg->buf + msg->pos, len)) {
-                jk_log(l, JK_LOG_INFO,
-                       "Writing to client aborted or client network problems");
-                JK_TRACE_EXIT(l);
-                return JK_CLIENT_WR_ERROR;
+            if (len == 0) {
+                /* AJP13_SEND_BODY_CHUNK with length 0 is
+                 * explicit flush packet message.
+                 */
+                if (r->flush)
+                    r->flush(r);
             }
-            if (r->flush && r->flush_packets)
-                r->flush(r);
+            else {            
+                if (!r->write(r, msg->buf + msg->pos, len)) {
+                    jk_log(l, JK_LOG_INFO,
+                           "Writing to client aborted or client network problems");
+                    JK_TRACE_EXIT(l);
+                    return JK_CLIENT_WR_ERROR;
+                }
+                if (r->flush && r->flush_packets)
+                    r->flush(r);
+            }
         }
         break;
 
@@ -1456,10 +1494,16 @@
             jk_log(l, JK_LOG_WARNING, "AJP13 protocol: Reuse is set to false");
         }
         else if (r->disable_reuse) {
+            if (JK_IS_DEBUG_LEVEL(l)) {
+                jk_log(l, JK_LOG_DEBUG, "AJP13 protocol: Reuse is disabled");
+            }
             ae->reuse = JK_FALSE;
         }
         else {
             /* Reuse in all cases */
+            if (JK_IS_DEBUG_LEVEL(l)) {
+                jk_log(l, JK_LOG_DEBUG, "AJP13 protocol: Reuse is OK");
+            }
             ae->reuse = JK_TRUE;
         }
         /* Flush after the last write */
@@ -1509,13 +1553,13 @@
         int rc = 0;
 
         /* If we set a reply timeout, check it something is available */
-        if (p->worker->reply_timeout != 0) {
+        if (p->worker->reply_timeout > 0) {
             if (ajp_is_input_event(p, p->worker->reply_timeout, l) ==
                 JK_FALSE) {
                 jk_log(l, JK_LOG_ERROR,
                        "(%s) Timeout with waiting reply from tomcat. "
-                       "Tomcat is down, stopped or network problems.",
-                       p->worker->name);
+                       "Tomcat is down, stopped or network problems (errno=%d)",
+                       p->worker->name, p->last_errno);
                 if (headeratclient == JK_FALSE) {
                     if (p->worker->recovery_opts & RECOVER_ABORT_IF_TCGETREQUEST)
                         op->recoverable = JK_FALSE;
@@ -1596,6 +1640,11 @@
             return JK_TRUE;
         }
         else if (JK_AJP13_SEND_HEADERS == rc) {
+            if (p->worker->http_status_fail &&
+                (p->worker->http_status_fail == s->http_response_status)) {
+                JK_TRACE_EXIT(l);
+                return JK_STATUS_ERROR;
+            }
             headeratclient = JK_TRUE;
         }
         else if (JK_AJP13_HAS_RESPONSE == rc) {
@@ -1614,6 +1663,8 @@
                 jk_log(l, JK_LOG_ERROR,
                        "(%s) Tomcat is down or network problems",
                         p->worker->name);
+                jk_close_socket(p->sd);
+                p->sd = JK_INVALID_SOCKET;
                 JK_TRACE_EXIT(l);
                 return JK_FALSE;
             }
@@ -1810,6 +1861,18 @@
                 JK_TRACE_EXIT(l);
                 return JK_SERVER_ERROR;
             }
+            else if (err == JK_STATUS_ERROR) {
+                jk_log(l, JK_LOG_INFO,
+                       "(%s) request failed, "
+                       "because of response status %d, "
+                       "recoverable operation attempt=%d",
+                       p->worker->name,
+                       p->worker->http_status_fail, i);
+                JK_TRACE_EXIT(l);
+                if (i >= JK_RETRIES) {
+                    jk_sleep(JK_SLEEP_DEF);
+                }
+            }
             else {
                 /* if we can't get reply, check if no recover flag was set
                  * if is_recoverable_error is cleared, we have started
@@ -1963,7 +2026,7 @@
             p->ep_cache[i] = (ajp_endpoint_t *)calloc(1, sizeof(ajp_endpoint_t));
             if (!p->ep_cache[i]) {
                 jk_log(l, JK_LOG_ERROR,
-                        "allocating endpoint slot %d errno=%d",
+                        "allocating endpoint slot %d (errno=%d)",
                         i, errno);
                 JK_TRACE_EXIT(l);
                 return JK_FALSE;
@@ -2000,7 +2063,7 @@
         ajp_worker_t *p = pThis->worker_private;
         p->ep_cache_sz = jk_get_worker_cache_size(props, p->name, cache);
         p->ep_mincache_sz = jk_get_worker_cache_size_min(props, p->name,
-                                                         cache / 2);
+                                                         (p->ep_cache_sz+1) / 2);
         p->socket_timeout =
             jk_get_worker_socket_timeout(props, p->name, AJP_DEF_SOCKET_TIMEOUT);
 
@@ -2032,6 +2095,8 @@
         p->max_packet_size =
             jk_get_max_packet_size(props, p->name);
 
+        p->http_status_fail = jk_get_worker_fail_on_status(props, p->name);
+
         pThis->retries =
             jk_get_worker_retries(props, p->name,
                                   JK_RETRIES);
@@ -2097,7 +2162,7 @@
         JK_INIT_CS(&(p->cs), rc);
         if (!rc) {
             jk_log(l, JK_LOG_ERROR,
-                   "creating thread lock errno=%d",
+                   "creating thread lock (errno=%d)",
                    errno);
             JK_TRACE_EXIT(l);
             return JK_FALSE;
@@ -2171,7 +2236,13 @@
             int i;
             jk_sock_t sock = JK_INVALID_SOCKET;
 
-            if (p->sd > 0 && !p->reuse) {
+            /* If we are going to close the connection, then park the socket so 
+               we can shut it down nicely rather than letting ajp_reset_endpoint kill it */
+            if (IS_VALID_SOCKET(p->sd) && !p->reuse) {
+                if (JK_IS_DEBUG_LEVEL(l))
+                    jk_log(l, JK_LOG_DEBUG,
+                    "will be shutting down socket %u for worker %s",
+                            p->sd, p->worker->name );
                 sock  = p->sd;
                 p->sd = JK_INVALID_SOCKET;
             }
@@ -2187,8 +2258,15 @@
             if (w->cache_timeout > 0)
                 p->last_access = time(NULL);
             JK_LEAVE_CS(&w->cs, rc);
-            if (IS_VALID_SOCKET(sock))
+
+            /* Drain and close the socket */
+            if (IS_VALID_SOCKET(sock)) {
+                if (JK_IS_DEBUG_LEVEL(l))
+                    jk_log(l, JK_LOG_DEBUG,
+                    "Shutting down held socket %u in worker %s",
+                            sock, p->worker->name);
                 jk_shutdown_socket(sock);
+            }
             if (i >= 0) {
                 if (JK_IS_DEBUG_LEVEL(l))
                     jk_log(l, JK_LOG_DEBUG,
@@ -2208,7 +2286,7 @@
         }
 
         jk_log(l, JK_LOG_ERROR,
-               "locking thread with errno=%d", errno);
+               "locking thread (errno=%d)", errno);
         JK_TRACE_EXIT(l);
         return JK_FALSE;
     }
@@ -2263,7 +2341,7 @@
         }
         else {
            jk_log(l, JK_LOG_ERROR,
-                  "locking thread with errno=%d",
+                  "locking thread (errno=%d)",
                   errno);
             JK_TRACE_EXIT(l);
             return JK_FALSE;
@@ -2288,7 +2366,7 @@
         ajp_worker_t *aw = pThis->worker_private;
         int rc;
         /* Obtain current time only if needed */
-        if (aw->cache_timeout < 1) {
+        if (aw->cache_timeout <= 0) {
             /* Nothing to do. */
             JK_TRACE_EXIT(l);
             return JK_TRUE;
@@ -2296,7 +2374,7 @@
         JK_ENTER_CS(&aw->cs, rc);
         if (rc) {
             unsigned int i, n = 0, cnt = 0;
-            /* Count opended slots */
+            /* Count open slots */
             for (i = 0; i < aw->ep_cache_sz; i++) {
                 if (aw->ep_cache[i] && IS_VALID_SOCKET(aw->ep_cache[i]->sd))
                     cnt++;
@@ -2306,7 +2384,7 @@
                 /* Skip the closed sockets */
                 if (aw->ep_cache[i] && IS_VALID_SOCKET(aw->ep_cache[i]->sd)) {
                     int elapsed = (int)difftime(now, aw->ep_cache[i]->last_access);
-                    if ((aw->cache_timeout > 0) && (elapsed > aw->cache_timeout)) {
+                    if (elapsed > aw->cache_timeout) {
                         time_t rt = 0;
                         n++;
                         if (JK_IS_DEBUG_LEVEL(l))
@@ -2339,7 +2417,7 @@
         }
         else {
            jk_log(l, JK_LOG_ERROR,
-                  "locking thread with errno=%d",
+                  "locking thread (errno=%d)",
                   errno);
             JK_TRACE_EXIT(l);
             return JK_FALSE;

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp_common.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp_common.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_ajp_common.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
  * Description: common stuff for bi-directional protocol ajp13/ajp14.      *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 439553 $                                          *
+ * Version:     $Revision: 483021 $                                          *
  ***************************************************************************/
 
 #ifndef JK_AJP_COMMON_H
@@ -42,7 +43,7 @@
 #define SC_A_REMOTE_USER        (unsigned char)3
 #define SC_A_AUTH_TYPE          (unsigned char)4
 #define SC_A_QUERY_STRING       (unsigned char)5
-#define SC_A_JVM_ROUTE          (unsigned char)6
+#define SC_A_ROUTE              (unsigned char)6
 #define SC_A_SSL_CERT           (unsigned char)7
 #define SC_A_SSL_CIPHER         (unsigned char)8
 #define SC_A_SSL_SESSION        (unsigned char)9
@@ -194,7 +195,7 @@
 #define AJP_DEF_REPLY_TIMEOUT     (0)   /* NO REPLY TIMEOUT                        */
 #define AJP_DEF_PREPOST_TIMEOUT   (0)   /* NO PREPOST TIMEOUT => NO CPING/CPONG    */
 #define AJP_DEF_RECOVERY_OPTS     (0)   /* NO RECOVERY / NO    */
-#define AJP_DEF_SOCKET_TIMEOUT    (-1)  /* No timeout */
+#define AJP_DEF_SOCKET_TIMEOUT    (0)  /* No timeout */
 
 #define RECOVER_ABORT_IF_TCGETREQUEST    0x0001 /* DONT RECOVER IF TOMCAT FAIL AFTER RECEIVING REQUEST */
 #define RECOVER_ABORT_IF_TCSENDHEADER    0x0002 /* DONT RECOVER IF TOMCAT FAIL AFTER SENDING HEADERS */
@@ -286,6 +287,11 @@
     unsigned int recovery_opts; /* Set the recovery option */
     
     unsigned int max_packet_size;  /*  Maximum AJP Packet size */
+    
+    /* 
+     * HTTP status that will cause failover (0 means disabled)
+     */
+     int http_status_fail;
 };
 
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_connect.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_connect.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_connect.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
  * @package jk_connect
  * @author      Gal Shachor <shachor at il.ibm.com>
  * @author      Mladen Turk <mturk at apache.org>
- * @version     $Revision: 440792 $
+ * @version     $Revision: 500805 $
  */
 
 
@@ -119,7 +120,7 @@
 static int nb_connect(jk_sock_t sock, struct sockaddr *addr, int timeout)
 {
     int rc;
-    if (timeout < 1)
+    if (timeout <= 0)
         return connect(sock, addr, sizeof(struct sockaddr_in));
 
     if ((rc = sononblock(sock)))
@@ -316,7 +317,7 @@
     if (!IS_VALID_SOCKET(sock)) {
         JK_GET_SOCKET_ERRNO();
         jk_log(l, JK_LOG_ERROR,
-               "socket() failed with errno=%d", errno);
+               "socket() failed (errno=%d)", errno);
         JK_TRACE_EXIT(l);
         return JK_INVALID_SOCKET;
 ;
@@ -325,7 +326,7 @@
     if (setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (SET_TYPE)&set,
                    sizeof(set))) {
         jk_log(l, JK_LOG_ERROR,
-                "failed setting TCP_NODELAY with errno=%d", errno);
+                "failed setting TCP_NODELAY (errno=%d)", errno);
         jk_close_socket(sock);
         JK_TRACE_EXIT(l);
         return JK_INVALID_SOCKET;
@@ -338,7 +339,7 @@
         if (setsockopt(sock, SOL_SOCKET, SO_KEEPALIVE, (SET_TYPE)&set,
                        sizeof(set))) {
             jk_log(l, JK_LOG_ERROR,
-                   "failed setting SO_KEEPALIVE with errno=%d", errno);
+                   "failed setting SO_KEEPALIVE (errno=%d)", errno);
             jk_close_socket(sock);
             JK_TRACE_EXIT(l);
             return JK_INVALID_SOCKET;
@@ -355,7 +356,7 @@
                         sizeof(set))) {
             JK_GET_SOCKET_ERRNO();
             jk_log(l, JK_LOG_ERROR,
-                    "failed setting SO_SNDBUF with errno=%d", errno);
+                    "failed setting SO_SNDBUF (errno=%d)", errno);
             jk_close_socket(sock);
             JK_TRACE_EXIT(l);
             return JK_INVALID_SOCKET;
@@ -366,7 +367,7 @@
                                 sizeof(set))) {
             JK_GET_SOCKET_ERRNO();
             jk_log(l, JK_LOG_ERROR,
-                    "failed setting SO_RCVBUF with errno=%d", errno);
+                    "failed setting SO_RCVBUF (errno=%d)", errno);
             jk_close_socket(sock);
             JK_TRACE_EXIT(l);
             return JK_INVALID_SOCKET;
@@ -408,7 +409,7 @@
                    sizeof(int))) {
         JK_GET_SOCKET_ERRNO();
         jk_log(l, JK_LOG_ERROR,
-                "failed setting SO_NOSIGPIPE with errno=%d", errno);
+                "failed setting SO_NOSIGPIPE (errno=%d)", errno);
         jk_close_socket(sock);
         JK_TRACE_EXIT(l);
         return JK_INVALID_SOCKET;
@@ -421,7 +422,7 @@
                    sizeof(li))) {
         JK_GET_SOCKET_ERRNO();
         jk_log(l, JK_LOG_ERROR,
-                "failed setting SO_LINGER with errno=%d", errno);
+                "failed setting SO_LINGER (errno=%d)", errno);
         jk_close_socket(sock);
         JK_TRACE_EXIT(l);
         return JK_INVALID_SOCKET;
@@ -448,7 +449,7 @@
     /* Check if we are connected */
     if (ret) {
         jk_log(l, JK_LOG_INFO,
-               "connect to %s failed with errno=%d",
+               "connect to %s failed (errno=%d)",
                jk_dump_hinfo(addr, buf), errno);
         jk_close_socket(sock);
         sock = JK_INVALID_SOCKET;
@@ -466,11 +467,10 @@
 
 int jk_close_socket(jk_sock_t s)
 {
+    if (IS_VALID_SOCKET(s))
 #if defined(WIN32) || (defined(NETWARE) && defined(__NOVELL_LIBC__))
-    if (s != INVALID_SOCKET)
         return closesocket(s) ? -1 : 0;
 #else
-    if (s != -1)
         return close(s);
 #endif
 
@@ -497,11 +497,10 @@
     int rc = 0;
 #if defined(WIN32) || (defined(NETWARE) && defined(__NOVELL_LIBC__))
     int tmout = SECONDS_TO_LINGER * 1000;
-    if (s == INVALID_SOCKET)
-#else
+#elif defined(SO_RCVTIMEO) && defined(USE_SO_RCVTIMEO)
     struct timeval tv;
-    if (s < 0)
 #endif
+    if (!IS_VALID_SOCKET(s))
         return -1;
 
     /* Shut down the socket for write, which will send a FIN
@@ -523,7 +522,7 @@
 #endif
     /* Read all data from the peer until we reach "end-of-file" (FIN
      * from peer) or we've exceeded our overall timeout. If the client does
-     * not send us bytes within 12 second, close the connection.
+     * not send us bytes within 16 second, close the connection.
      */
     while (rc) {
         nbytes = jk_tcp_socket_recvfull(s, dummy, sizeof(dummy));

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_connect.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_connect.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_connect.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Socket connections header file                             *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 437450 $                                               *
+ * Version:     $Revision: 466585 $                                               *
  ***************************************************************************/
 
 #ifndef JK_CONNECT_H

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_context.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_context.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_context.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Context handling (Autoconf)                                *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 299951 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 #include "jk_global.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_context.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_context.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_context.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Context Stuff (Autoconf)                                   *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 299951 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 #ifndef JK_CONTEXT_H
 #define JK_CONTEXT_H

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_global.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_global.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_global.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
  * Description: Global definitions and include files that should exist     *
  *              anywhere                                                   *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 434345 $                                               *
+ * Version:     $Revision: 502649 $                                               *
  ***************************************************************************/
 
 #ifndef JK_GLOBAL_H
@@ -141,7 +142,7 @@
 #include <netinet/tcp.h>
 #include <arpa/inet.h>
 #include <sys/un.h>
-#if !defined(_OSD_POSIX) && !defined(AS400) && !defined(CYGWIN)
+#if !defined(_OSD_POSIX) && !defined(AS400) && !defined(CYGWIN) && !defined(HPUX11)
 #include <sys/socketvar.h>
 #endif
 #if !defined(HPUX11) && !defined(AS400)
@@ -167,9 +168,15 @@
 
 #define JK_WORKER_FILE_DEF  ("workers.properties")
 
+/* Urimap reload check time. Use 60 seconds by default.
+ */
+#define JK_URIMAP_DEF_RELOAD    (60)
+
 #define JK_TRUE  (1)
 #define JK_FALSE (0)
 
+#define JK_UNSET (-1)
+
 #define JK_LF (10)
 #define JK_CR (13)
 
@@ -240,7 +247,8 @@
 /* Forward local instead remote address */
 #define JK_OPT_FWDLOCAL             0x0010
 #define JK_OPT_FLUSHPACKETS         0x0020
-#define JK_OPT_DISABLEREUSE         0x0040
+#define JK_OPT_FLUSHEADER           0x0040
+#define JK_OPT_DISABLEREUSE         0x0080
 
 /* Check for EBCDIC systems */
 
@@ -282,7 +290,7 @@
     typedef unsigned __int64 jk_uint64_t;
 #define JK_UINT64_T_FMT "I64u"
 #define JK_UINT64_T_HEX_FMT "I64x"
-#elif defined(AS400)
+#elif defined(AS400) || defined(NETWARE)
     typedef unsigned int jk_uint32_t;
 #define JK_UINT32_T_FMT "u"
 #define JK_UINT32_T_HEX_FMT "x"

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_jni_worker.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_jni_worker.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_jni_worker.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
  * Description: In process JNI worker                                      *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  * Based on:                                                               *
- * Version:     $Revision: 434177 $                                           *
+ * Version:     $Revision: 501764 $                                           *
  ***************************************************************************/
 
 #if !defined(WIN32) && !defined(NETWARE) && !defined(AS400)
@@ -31,6 +32,7 @@
 #include "jk_jni_worker.h"
 #include "jk_util.h"
 
+#if !defined(JNI_VERSION_1_6)
 #if defined LINUX && defined APACHE2_SIGHACK
 #include <pthread.h>
 #include <signal.h>
@@ -1235,3 +1237,12 @@
     }
     JK_TRACE_EXIT(l);
 }
+#else
+int JK_METHOD jni_worker_factory(jk_worker_t **w,
+                                 const char *name, jk_logger_t *l)
+{
+    if (w)
+        *w = NULL;
+    return 0;
+}
+#endif /* JNI_VERSION_1_6 */

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_jni_worker.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_jni_worker.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_jni_worker.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: jni worker header file                                 *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 300224 $                                               *
+ * Version:     $Revision: 466585 $                                               *
  ***************************************************************************/
 
 #ifndef JK_JNI_WORKER_H

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_lb_worker.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_lb_worker.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_lb_worker.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -21,7 +22,7 @@
  * Author:      Mladen Turk <mturk at apache.org>                             *
  * Author:      Rainer Jung <rjung at apache.org>                             *
  * Based on:                                                               *
- * Version:     $Revision: 441433 $                                          *
+ * Version:     $Revision: 500805 $                                          *
  ***************************************************************************/
 
 #include "jk_pool.h"
@@ -39,45 +40,47 @@
  * The load balancing code in this
  */
 
-#define JK_WORKER_USABLE(w)   ((w)->state != JK_LB_STATE_ERROR && (w)->state != JK_LB_STATE_BUSY && (w)->activation != JK_LB_ACTIVATION_STOPPED && (w)->activation != JK_LB_ACTIVATION_DISABLED)
-#define JK_WORKER_USABLE_STICKY(w)   ((w)->state != JK_LB_STATE_ERROR && (w)->activation != JK_LB_ACTIVATION_STOPPED)
+#define JK_WORKER_USABLE(w)   ((w)->state != JK_LB_STATE_ERROR && (w)->state != JK_LB_STATE_PROBE && (w)->state != JK_LB_STATE_BUSY && (w)->activation != JK_LB_ACTIVATION_STOPPED && (w)->activation != JK_LB_ACTIVATION_DISABLED)
+#define JK_WORKER_USABLE_STICKY(w)   ((w)->state != JK_LB_STATE_ERROR && (w)->state != JK_LB_STATE_PROBE && (w)->activation != JK_LB_ACTIVATION_STOPPED)
 
 static const char *lb_locking_type[] = {
-    "unknown",
     JK_LB_LOCK_TEXT_OPTIMISTIC,
     JK_LB_LOCK_TEXT_PESSIMISTIC,
+    "unknown",
     NULL
 };
 
 static const char *lb_method_type[] = {
-    "unknown",
     JK_LB_METHOD_TEXT_REQUESTS,
     JK_LB_METHOD_TEXT_TRAFFIC,
     JK_LB_METHOD_TEXT_BUSYNESS,
+    JK_LB_METHOD_TEXT_SESSIONS,
+    "unknown",
     NULL
 };
 
 static const char *lb_state_type[] = {
-    "unknown",
     JK_LB_STATE_TEXT_NA,
     JK_LB_STATE_TEXT_OK,
     JK_LB_STATE_TEXT_RECOVER,
     JK_LB_STATE_TEXT_BUSY,
     JK_LB_STATE_TEXT_ERROR,
+    JK_LB_STATE_TEXT_FORCE,
+    JK_LB_STATE_TEXT_PROBE,
+    "unknown",
     NULL
 };
 
 static const char *lb_activation_type[] = {
-    "unknown",
     JK_LB_ACTIVATION_TEXT_ACTIVE,
     JK_LB_ACTIVATION_TEXT_DISABLED,
     JK_LB_ACTIVATION_TEXT_STOPPED,
+    "unknown",
     NULL
 };
 
 struct lb_endpoint
 {
-    jk_endpoint_t *e;
     lb_worker_t *worker;
 
     jk_endpoint_t endpoint;
@@ -114,24 +117,91 @@
     return lb_locking_type[p->lblock];
 }
 
+/* Return the int representation of the lb lock type */
+int jk_lb_get_lock_code(const char *v)
+{
+    if (!v)
+        return JK_LB_LOCK_DEF;
+    else if  (*v == 'o' || *v == 'O' || *v == '0')
+        return JK_LB_LOCK_OPTIMISTIC;
+    else if  (*v == 'p' || *v == 'P' || *v == '1')
+        return JK_LB_LOCK_PESSIMISTIC;
+    else
+        return JK_LB_LOCK_DEF;
+}
+
 /* Return the string representation of the lb method type */
 const char *jk_lb_get_method(lb_worker_t *p, jk_logger_t *l)
 {
     return lb_method_type[p->lbmethod];
 }
 
+/* Return the int representation of the lb lock type */
+int jk_lb_get_method_code(const char *v)
+{
+    if (!v)
+        return JK_LB_METHOD_DEF;
+    else if  (*v == 'r' || *v == 'R' || *v == '0')
+        return JK_LB_METHOD_REQUESTS;
+    else if  (*v == 't' || *v == 'T' || *v == '1')
+        return JK_LB_METHOD_TRAFFIC;
+    else if  (*v == 'b' || *v == 'B' || *v == '2')
+        return JK_LB_METHOD_BUSYNESS;
+    else if  (*v == 's' || *v == 'S' || *v == '3')
+        return JK_LB_METHOD_SESSIONS;
+    else
+        return JK_LB_METHOD_DEF;
+}
+
 /* Return the string representation of the balance worker state */
 const char *jk_lb_get_state(worker_record_t *p, jk_logger_t *l)
 {
     return lb_state_type[p->s->state];
 }
 
+/* Return the int representation of the lb lock type */
+int jk_lb_get_state_code(const char *v)
+{
+    if (!v)
+        return JK_LB_STATE_DEF;
+    else if  (*v == 'n' || *v == 'N' || *v == '0')
+        return JK_LB_STATE_NA;
+    else if  (*v == 'o' || *v == 'O' || *v == '1')
+        return JK_LB_STATE_OK;
+    else if  (*v == 'r' || *v == 'R' || *v == '2')
+        return JK_LB_STATE_RECOVER;
+    else if  (*v == 'b' || *v == 'B' || *v == '3')
+        return JK_LB_STATE_BUSY;
+    else if  (*v == 'e' || *v == 'E' || *v == '4')
+        return JK_LB_STATE_ERROR;
+    else if  (*v == 'f' || *v == 'F' || *v == '5')
+        return JK_LB_STATE_FORCE;
+    else if  (*v == 'p' || *v == 'P' || *v == '6')
+        return JK_LB_STATE_PROBE;
+    else
+        return JK_LB_STATE_DEF;
+}
+
 /* Return the string representation of the balance worker activation */
 const char *jk_lb_get_activation(worker_record_t *p, jk_logger_t *l)
 {
     return lb_activation_type[p->s->activation];
 }
 
+int jk_lb_get_activation_code(const char *v)
+{
+    if (!v)
+        return JK_LB_ACTIVATION_DEF;
+    else if (*v == 'a' || *v == 'A' || *v == '0')
+        return JK_LB_ACTIVATION_ACTIVE;
+    else if (*v == 'd' || *v == 'D' || *v == '1')
+        return JK_LB_ACTIVATION_DISABLED;
+    else if (*v == 's' || *v == 'S' || *v == '2')
+        return JK_LB_ACTIVATION_STOPPED;
+    else
+        return JK_LB_ACTIVATION_DEF;
+}
+
 /* Update the load multipliers wrt. lb_factor */
 void update_mult(lb_worker_t *p, jk_logger_t *l)
 {
@@ -164,8 +234,43 @@
             p->lb_workers[i].s->lb_value = 0;
         }
     }
+    JK_TRACE_EXIT(l);
 }
 
+/* Syncing config values from shm */
+void jk_lb_pull(lb_worker_t * p, jk_logger_t *l) {
+    JK_TRACE_ENTER(l);
+    if (JK_IS_DEBUG_LEVEL(l))
+        jk_log(l, JK_LOG_DEBUG,
+               "syncing mem for lb '%s' from shm",
+               p->s->name);
+    p->sticky_session = p->s->sticky_session;
+    p->sticky_session_force = p->s->sticky_session_force;
+    p->recover_wait_time = p->s->recover_wait_time;
+    p->retries = p->s->retries;
+    p->lbmethod = p->s->lbmethod;
+    p->lblock = p->s->lblock;
+    p->sequence = p->s->sequence;
+    JK_TRACE_EXIT(l);
+}
+
+/* Syncing config values from shm */
+void jk_lb_push(lb_worker_t * p, jk_logger_t *l) {
+    JK_TRACE_ENTER(l);
+    if (JK_IS_DEBUG_LEVEL(l))
+        jk_log(l, JK_LOG_DEBUG,
+               "syncing shm for lb '%s' from mem",
+               p->s->name);
+    p->s->sticky_session = p->sticky_session;
+    p->s->sticky_session_force = p->sticky_session_force;
+    p->s->recover_wait_time = p->recover_wait_time;
+    p->s->retries = p->retries;
+    p->s->lbmethod = p->lbmethod;
+    p->s->lblock = p->lblock;
+    p->s->sequence = p->sequence;
+    JK_TRACE_EXIT(l);
+}
+
 /* Retrieve the parameter with the given name                                */
 static char *get_path_param(jk_ws_service_t *s, const char *name)
 {
@@ -283,17 +388,21 @@
  * If the worker is in ok state and got no requests
  * since the last global maintenance, we mark its
  * state as not available.
+ * Return the number of workers not in error state.
  */
-static void recover_workers(lb_worker_t *p,
+static int recover_workers(lb_worker_t *p,
                             jk_uint64_t curmax,
                             time_t now,
                             jk_logger_t *l)
 {
     unsigned int i;
+    int non_error = 0;
     int elapsed;
     worker_record_t *w = NULL;
     JK_TRACE_ENTER(l);
 
+    if (p->sequence != p->s->sequence)
+        jk_lb_pull(p, l);
     for (i = 0; i < p->num_of_workers; i++) {
         w = &p->lb_workers[i];
         if (w->s->state == JK_LB_STATE_ERROR) {
@@ -309,11 +418,14 @@
                     jk_log(l, JK_LOG_DEBUG,
                            "worker %s is marked for recovery",
                            w->s->name);
-                w->s->lb_value = curmax;
+                if (p->lbmethod != JK_LB_METHOD_BUSYNESS)
+                    w->s->lb_value = curmax;
                 w->s->state = JK_LB_STATE_RECOVER;
+                non_error++;
             }
         }
         else {
+            non_error++;
             if (w->s->state == JK_LB_STATE_OK &&
                 w->s->elected == w->s->elected_snapshot)
                 w->s->state = JK_LB_STATE_NA;
@@ -322,6 +434,7 @@
     }
 
     JK_TRACE_EXIT(l);
+    return non_error;
 }
 
 static int force_recovery(lb_worker_t *p,
@@ -339,7 +452,7 @@
                 jk_log(l, JK_LOG_INFO,
                        "worker %s is marked for recovery",
                        w->s->name);
-            w->s->state = JK_LB_STATE_RECOVER;
+            w->s->state = JK_LB_STATE_FORCE;
             forced++;
         }
     }
@@ -380,7 +493,6 @@
 
     JK_TRACE_ENTER(l);
     if (p && p->worker_private) {
-        unsigned int n = 0;
         lb_worker_t *lb = (lb_worker_t *)p->worker_private;
 
         for (i = 0; i < lb->num_of_workers; i++) {
@@ -406,17 +518,11 @@
                        "decay with 2^%d",
                        JK_LB_DECAY_MULT * delta / lb->maintain_time);
             curmax = decay_load(lb, JK_LB_DECAY_MULT * delta / lb->maintain_time, l);
-            recover_workers(lb, curmax, now, l);
+            if (!recover_workers(lb, curmax, now, l)) {
+                force_recovery(lb, l);
+            }
         }
 
-        for (i = 0; i < lb->num_of_workers; i++) {
-            if (lb->lb_workers[i].s->state != JK_LB_STATE_ERROR) {
-                ++n;
-            }
-        }
-        if (!n) {
-            force_recovery(lb, l);    
-        }
         jk_shm_unlock();
 
     }
@@ -437,9 +543,9 @@
     unsigned int i;
 
     for (i = 0; i < p->num_of_workers; i++) {
-        if (strcmp(p->lb_workers[i].s->jvm_route, name) == 0) {
+        if (strcmp(p->lb_workers[i].s->route, name) == 0) {
             rc = &p->lb_workers[i];
-            rc->r = &(rc->s->jvm_route[0]);
+            rc->r = &(rc->s->route[0]);
             break;
         }
     }
@@ -540,7 +646,7 @@
              * balancer. Of course you will need a some kind of
              * session replication between those two remote.
              */
-            if (p->s->sticky_session_force)
+            if (p->sticky_session_force)
                 candidate = NULL;
             else if (*candidate->s->redirect)
                 candidate = find_by_session(p, candidate->s->redirect, l);
@@ -579,9 +685,9 @@
     worker_record_t *rc = NULL;
 
     rc = find_best_byvalue(p, l);
-    /* By default use worker jvm route as session route */
+    /* By default use worker route as session route */
     if (rc)
-        rc->r = &(rc->s->jvm_route[0]);
+        rc->r = &(rc->s->route[0]);
     else
         rc = find_failover_worker(p, l);
     return rc;
@@ -601,9 +707,11 @@
          * if there is a single one
          */
         if (JK_WORKER_USABLE_STICKY(p->lb_workers[0].s)) {
-            p->lb_workers[0].r = &(p->lb_workers[0].s->jvm_route[0]);
-            JK_TRACE_EXIT(l);
-            return &p->lb_workers[0];
+            if (p->lb_workers[0].s->activation != JK_LB_ACTIVATION_DISABLED) {
+                p->lb_workers[0].r = &(p->lb_workers[0].s->route[0]);
+                JK_TRACE_EXIT(l);
+                return &p->lb_workers[0];
+            }
         }
         else {
             JK_TRACE_EXIT(l);
@@ -617,7 +725,7 @@
     }
     if (!r) {
        jk_log(l, JK_LOG_ERROR,
-              "locking failed with errno=%d",
+              "locking failed (errno=%d)",
               errno);
         JK_TRACE_EXIT(l);
         return NULL;
@@ -653,7 +761,7 @@
                     if (JK_IS_DEBUG_LEVEL(l))
                         jk_log(l, JK_LOG_DEBUG,
                                "found worker %s (%s) for route %s and partial sessionid %s",
-                               rc->s->name, rc->s->jvm_route, session_route, sessionid);
+                               rc->s->name, rc->s->route, session_route, sessionid);
                         JK_TRACE_EXIT(l);
                     return rc;
                 }
@@ -662,7 +770,7 @@
             sessionid = next;
             rc = NULL;
         }
-        if (!rc && p->s->sticky_session_force) {
+        if (!rc && p->sticky_session_force) {
             if (p->lblock == JK_LB_LOCK_PESSIMISTIC)
                 jk_shm_unlock();
             else {
@@ -684,7 +792,7 @@
     if (rc && JK_IS_DEBUG_LEVEL(l)) {
         jk_log(l, JK_LOG_DEBUG,
                "found best worker %s (%s) using method '%s'",
-               rc->s->name, rc->s->jvm_route, jk_lb_get_method(p, l));
+               rc->s->name, rc->s->route, jk_lb_get_method(p, l));
     }
     JK_TRACE_EXIT(l);
     return rc;
@@ -724,7 +832,13 @@
     jk_b_set_buffer_size(s->reco_buf, p->worker->max_packet_size);
     jk_b_reset(s->reco_buf);
     s->reco_status = RECO_INITED;
-    if (p->worker->s->sticky_session) {
+
+    jk_shm_lock();
+    if (p->worker->sequence != p->worker->s->sequence)
+        jk_lb_pull(p->worker, l);
+    jk_shm_unlock();
+
+    if (p->worker->sticky_session) {
         /* Use sessionid only if sticky_session is
          * defined for this load balancer
          */
@@ -733,7 +847,7 @@
     if (JK_IS_DEBUG_LEVEL(l))
         jk_log(l, JK_LOG_DEBUG,
                "service sticky_session=%d id='%s'",
-               p->worker->s->sticky_session, sessionid ? sessionid : "empty");
+               p->worker->sticky_session, sessionid ? sessionid : "empty");
 
     while (attempt <= num_of_workers && rc == -1) {
         worker_record_t *rec =
@@ -747,13 +861,16 @@
             jk_endpoint_t *end = NULL;
             int retry = 0;
             int retry_wait = JK_LB_MIN_RETRY_WAIT;
-            s->jvm_route = rec->r;
+            s->route = rec->r;
             prec = rec;
 
+            if (rec->s->state == JK_LB_STATE_RECOVER)
+                rec->s->state = JK_LB_STATE_PROBE;
+
             if (JK_IS_DEBUG_LEVEL(l))
                 jk_log(l, JK_LOG_DEBUG,
-                       "service worker=%s jvm_route=%s",
-                       rec->s->name, s->jvm_route);
+                       "service worker=%s route=%s",
+                       rec->s->name, s->route);
             while ((!(r=rec->w->get_endpoint(rec->w, &end, l)) || !end) && (retry < p->worker->s->retries)) {
                 retry++;
                 retry_wait *=2;
@@ -795,12 +912,13 @@
                 if (p->worker->s->busy > p->worker->s->max_busy)
                     p->worker->s->max_busy = p->worker->s->busy;
                 rec->s->busy++;
-                if (p->worker->lbmethod == JK_LB_METHOD_REQUESTS)
-                    rec->s->lb_value += rec->s->lb_mult;
-                else if (p->worker->lbmethod == JK_LB_METHOD_BUSYNESS)
-                    rec->s->lb_value += rec->s->lb_mult;
                 if (rec->s->busy > rec->s->max_busy)
                     rec->s->max_busy = rec->s->busy;
+                if ( (p->worker->lbmethod == JK_LB_METHOD_REQUESTS) ||
+                     (p->worker->lbmethod == JK_LB_METHOD_BUSYNESS) ||
+                     (p->worker->lbmethod == JK_LB_METHOD_SESSIONS &&
+                      !sessionid) )
+                    rec->s->lb_value += rec->s->lb_mult;
                 if (p->worker->lblock == JK_LB_LOCK_PESSIMISTIC)
                     jk_shm_unlock();
 
@@ -957,10 +1075,10 @@
         }
         else {
             /* NULL record, no more workers left ... */
-            if (attempt == 0 && !was_forced) {
+            if (!was_forced) {
                 int nf;
-                /* Force recovery only on first attempt.
-                 * If the second fails, Tomcat is still disconnected.
+                /* Force recovery only once.
+                 * If it still fails, Tomcat is still disconnected.
                  */
                 jk_shm_lock();
                 nf = force_recovery(p->worker, l);
@@ -973,13 +1091,13 @@
                     prec = NULL;
                     rc   = -1;
                     jk_log(l, JK_LOG_INFO,
-                           "Forcing recovery on first attempt for %d workers", nf);
+                           "Forcing recovery once for %d workers", nf);
                     continue;
                 }
                 else {
                     /* No workers in error state.
                      * Somebody set them all to disabled?
-                     */    
+                     */
                     jk_log(l, JK_LOG_ERROR,
                            "All tomcat instances failed, no more workers left for recovery");
                     *is_error = JK_HTTP_SERVER_BUSY;
@@ -1051,10 +1169,6 @@
     if (e && *e && (*e)->endpoint_private) {
         lb_endpoint_t *p = (*e)->endpoint_private;
 
-        if (p->e) {
-            p->e->done(&p->e, l);
-        }
-
         free(p);
         *e = NULL;
         JK_TRACE_EXIT(l);
@@ -1078,8 +1192,8 @@
         unsigned int num_of_workers;
         const char *secret;
 
-        p->s->sticky_session = jk_get_is_sticky_session(props, p->s->name);
-        p->s->sticky_session_force = jk_get_is_sticky_session_force(props, p->s->name);
+        p->sticky_session = jk_get_is_sticky_session(props, p->s->name);
+        p->sticky_session_force = jk_get_is_sticky_session_force(props, p->s->name);
         secret = jk_get_worker_secret(props, p->s->name);
 
         if (jk_get_lb_worker_list(props,
@@ -1107,16 +1221,9 @@
                 }
             }
 
-            /* Calculate the maximum packet size from all workers
-             * for the recovery buffer.
-             */
             for (i = 0; i < num_of_workers; i++) {
-                unsigned int ms = jk_get_max_packet_size(props, worker_names[i]);
-                if (ms > p->max_packet_size)
-                    p->max_packet_size = ms;
-            }
-            for (i = 0; i < num_of_workers; i++) {
                 const char *s;
+                unsigned int ms;
                 strncpy(p->lb_workers[i].s->name, worker_names[i],
                         JK_SHM_STR_SIZ);
                 p->lb_workers[i].s->lb_factor =
@@ -1124,12 +1231,18 @@
                 if (p->lb_workers[i].s->lb_factor < 1) {
                     p->lb_workers[i].s->lb_factor = 1;
                 }
+                /* Calculate the maximum packet size from all workers
+                 * for the recovery buffer.
+                 */
+                ms = jk_get_max_packet_size(props, worker_names[i]);
+                if (ms > p->max_packet_size)
+                    p->max_packet_size = ms;
                 p->lb_workers[i].s->distance =
                     jk_get_distance(props, worker_names[i]);
-                if ((s = jk_get_worker_jvm_route(props, worker_names[i], NULL)))
-                    strncpy(p->lb_workers[i].s->jvm_route, s, JK_SHM_STR_SIZ);
+                if ((s = jk_get_worker_route(props, worker_names[i], NULL)))
+                    strncpy(p->lb_workers[i].s->route, s, JK_SHM_STR_SIZ);
                 else
-                    strncpy(p->lb_workers[i].s->jvm_route, worker_names[i], JK_SHM_STR_SIZ);
+                    strncpy(p->lb_workers[i].s->route, worker_names[i], JK_SHM_STR_SIZ);
                 if ((s = jk_get_worker_domain(props, worker_names[i], NULL)))
                     strncpy(p->lb_workers[i].s->domain, s, JK_SHM_STR_SIZ);
                 if ((s = jk_get_worker_redirect(props, worker_names[i], NULL)))
@@ -1138,7 +1251,7 @@
                 p->lb_workers[i].s->lb_value = 0;
                 p->lb_workers[i].s->state = JK_LB_STATE_NA;
                 p->lb_workers[i].s->error_time = 0;
-                p->lb_workers[i].s->activation = 
+                p->lb_workers[i].s->activation =
                     jk_get_worker_activation(props, worker_names[i]);
                 if (!wc_create_worker(p->lb_workers[i].s->name, 0,
                                       props,
@@ -1161,13 +1274,22 @@
                 close_workers(p, i, l);
             }
             else {
+                /* Update domain names if route contains period '.' */
                 for (i = 0; i < num_of_workers; i++) {
+                    if (!p->lb_workers[i].s->domain[0]) {
+                        char * id_domain = strchr(p->lb_workers[i].s->route, '.');
+                        if (id_domain) {
+                            *id_domain = '\0';
+                            strcpy(p->lb_workers[i].s->domain, p->lb_workers[i].s->route);
+                            *id_domain = '.';
+                        }
+                    }
                     if (JK_IS_DEBUG_LEVEL(l)) {
                         jk_log(l, JK_LOG_DEBUG,
-                               "Balanced worker %i has name %s and jvm_route %s in domain %s",
+                               "Balanced worker %i has name %s and route %s in domain %s",
                                i,
                                p->lb_workers[i].s->name,
-                               p->lb_workers[i].s->jvm_route,
+                               p->lb_workers[i].s->route,
                                p->lb_workers[i].s->domain);
                     }
                 }
@@ -1175,14 +1297,14 @@
                 update_mult(p, l);
                 for (i = 0; i < num_of_workers; i++) {
                     for (j = 0; j < i; j++) {
-                        if (strcmp(p->lb_workers[i].s->jvm_route, p->lb_workers[j].s->jvm_route) == 0) {
+                        if (strcmp(p->lb_workers[i].s->route, p->lb_workers[j].s->route) == 0) {
                             jk_log(l, JK_LOG_ERROR,
-                                   "Balanced workers number %i (%s) and %i (%s) share the same jvm_route %s - aborting configuration!",
+                                   "Balanced workers number %i (%s) and %i (%s) share the same route %s - aborting configuration!",
                                    i,
                                    p->lb_workers[i].s->name,
                                    j,
                                    p->lb_workers[j].s->name,
-                                   p->lb_workers[i].s->jvm_route);
+                                   p->lb_workers[i].s->route);
                             JK_TRACE_EXIT(l);
                             return JK_FALSE;
                         }
@@ -1210,12 +1332,14 @@
 
     pThis->retries = jk_get_worker_retries(props, p->s->name,
                                            JK_RETRIES);
-    p->s->retries = pThis->retries;
-    p->s->recover_wait_time = jk_get_worker_recover_timeout(props, p->s->name,
+    p->retries = pThis->retries;
+    p->recover_wait_time = jk_get_worker_recover_timeout(props, p->s->name,
                                                             WAIT_BEFORE_RECOVER);
-    if (p->s->recover_wait_time < 1)
-        p->s->recover_wait_time = 1;
+    if (p->recover_wait_time < 1)
+        p->recover_wait_time = 1;
     p->maintain_time = jk_get_worker_maintain_time(props);
+    if(p->maintain_time < 0)
+        p->maintain_time = 0;
     p->s->last_maintain_time = time(NULL);
 
     p->lbmethod = jk_get_lb_method(props, p->s->name);
@@ -1224,12 +1348,17 @@
     JK_INIT_CS(&(p->cs), i);
     if (i == JK_FALSE) {
         jk_log(log, JK_LOG_ERROR,
-               "creating thread lock errno=%d",
+               "creating thread lock (errno=%d)",
                errno);
         JK_TRACE_EXIT(log);
         return JK_FALSE;
     }
 
+    jk_shm_lock();
+    p->sequence++;
+    jk_lb_push(p, log);
+    jk_shm_unlock();
+
     JK_TRACE_EXIT(log);
     return JK_TRUE;
 }
@@ -1241,7 +1370,6 @@
 
     if (pThis && pThis->worker_private && pend) {
         lb_endpoint_t *p = (lb_endpoint_t *) malloc(sizeof(lb_endpoint_t));
-        p->e = NULL;
         p->worker = pThis->worker_private;
         p->endpoint.endpoint_private = p;
         p->endpoint.service = service;
@@ -1311,7 +1439,8 @@
         private_data->worker.destroy = destroy;
         private_data->worker.maintain = maintain_workers;
         private_data->worker.retries = JK_RETRIES;
-        private_data->s->recover_wait_time = WAIT_BEFORE_RECOVER;
+        private_data->recover_wait_time = WAIT_BEFORE_RECOVER;
+        private_data->sequence = 0;
         *w = &private_data->worker;
         JK_TRACE_EXIT(l);
         return JK_LB_WORKER_TYPE;

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_lb_worker.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_lb_worker.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_lb_worker.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
  * Description: load balance worker header file                            *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  * Author:      Rainer Jung <rjung at apache.org>                             *
- * Version:     $Revision: 439810 $                                           *
+ * Version:     $Revision: 500537 $                                           *
  ***************************************************************************/
 
 #ifndef JK_LB_WORKER_H
@@ -38,36 +39,50 @@
 #define JK_LB_WORKER_TYPE     (5)
 #define JK_LB_DEF_DOMAIN_NAME ("unknown")
 
-#define JK_LB_METHOD_REQUESTS          (1)
-#define JK_LB_METHOD_TRAFFIC           (2)
-#define JK_LB_METHOD_BUSYNESS          (3)
+#define JK_LB_METHOD_REQUESTS          (0)
+#define JK_LB_METHOD_TRAFFIC           (1)
+#define JK_LB_METHOD_BUSYNESS          (2)
+#define JK_LB_METHOD_SESSIONS          (3)
 #define JK_LB_METHOD_DEF               (JK_LB_METHOD_REQUESTS)
+#define JK_LB_METHOD_MAX               (JK_LB_METHOD_SESSIONS)
 #define JK_LB_METHOD_TEXT_REQUESTS     ("Request")
 #define JK_LB_METHOD_TEXT_TRAFFIC      ("Traffic")
 #define JK_LB_METHOD_TEXT_BUSYNESS     ("Busyness")
+#define JK_LB_METHOD_TEXT_SESSIONS     ("Sessions")
 #define JK_LB_METHOD_TEXT_DEF          (JK_LB_METHOD_TEXT_REQUESTS)
-#define JK_LB_LOCK_OPTIMISTIC          (1)
-#define JK_LB_LOCK_PESSIMISTIC         (2)
+#define JK_LB_LOCK_OPTIMISTIC          (0)
+#define JK_LB_LOCK_PESSIMISTIC         (1)
 #define JK_LB_LOCK_DEF                 (JK_LB_LOCK_OPTIMISTIC)
+#define JK_LB_LOCK_MAX                 (JK_LB_LOCK_PESSIMISTIC)
 #define JK_LB_LOCK_TEXT_OPTIMISTIC     ("Optimistic")
 #define JK_LB_LOCK_TEXT_PESSIMISTIC    ("Pessimistic")
 #define JK_LB_LOCK_TEXT_DEF            (JK_LB_LOCK_TEXT_OPTIMISTIC)
-#define JK_LB_STATE_NA                 (1)
-#define JK_LB_STATE_OK                 (2)
-#define JK_LB_STATE_RECOVER            (3)
-#define JK_LB_STATE_BUSY               (4)
-#define JK_LB_STATE_ERROR              (5)
+#define JK_LB_STATE_NA                 (0)
+#define JK_LB_STATE_OK                 (1)
+#define JK_LB_STATE_RECOVER            (2)
+#define JK_LB_STATE_BUSY               (3)
+#define JK_LB_STATE_ERROR              (4)
+#define JK_LB_STATE_FORCE              (5)
+#define JK_LB_STATE_PROBE              (6)
+#define JK_LB_STATE_DEF                (JK_LB_STATE_NA)
 #define JK_LB_STATE_TEXT_NA            ("N/A")
 #define JK_LB_STATE_TEXT_OK            ("OK")
 #define JK_LB_STATE_TEXT_RECOVER       ("REC")
 #define JK_LB_STATE_TEXT_BUSY          ("BSY")
 #define JK_LB_STATE_TEXT_ERROR         ("ERR")
-#define JK_LB_ACTIVATION_ACTIVE        (1)
-#define JK_LB_ACTIVATION_DISABLED      (2)
-#define JK_LB_ACTIVATION_STOPPED       (3)
+#define JK_LB_STATE_TEXT_FORCE         ("FRC")
+#define JK_LB_STATE_TEXT_PROBE         ("PRB")
+#define JK_LB_STATE_TEXT_MAX           (JK_LB_STATE_PROBE)
+#define JK_LB_STATE_TEXT_DEF           (JK_LB_STATE_TEXT_NA)
+#define JK_LB_ACTIVATION_ACTIVE        (0)
+#define JK_LB_ACTIVATION_DISABLED      (1)
+#define JK_LB_ACTIVATION_STOPPED       (2)
+#define JK_LB_ACTIVATION_DEF           (JK_LB_ACTIVATION_ACTIVE)
+#define JK_LB_ACTIVATION_MAX           (JK_LB_ACTIVATION_STOPPED)
 #define JK_LB_ACTIVATION_TEXT_ACTIVE   ("ACT")
 #define JK_LB_ACTIVATION_TEXT_DISABLED ("DIS")
 #define JK_LB_ACTIVATION_TEXT_STOPPED  ("STP")
+#define JK_LB_ACTIVATION_TEXT_DEF      (JK_LB_ACTIVATION_TEXT_ACTIVE)
 
 #define JK_LB_UINT64_STR_SZ          (21)
 #define JK_LB_NOTES_COUNT            (9)
@@ -108,7 +123,7 @@
     jk_worker_t      *w;
     /* Shared memory worker data */
     jk_shm_worker_t  *s;
-    /* Current jvmRoute. Can be name or domain */
+    /* Current route. Can be name or domain */
     const char       *r;
 };
 typedef struct worker_record worker_record_t;
@@ -117,10 +132,16 @@
 {
     worker_record_t *lb_workers;
     unsigned int num_of_workers;
+    char         name[JK_SHM_STR_SIZ+1];
+    int          sticky_session;
+    int          sticky_session_force;
+    int          recover_wait_time;
+    int          retries;
     int          lbmethod;
     int          lblock;
-    time_t       maintain_time;
+    int          maintain_time;
     unsigned int max_packet_size;
+    unsigned int sequence;
 
     jk_pool_t p;
     jk_pool_atom_t buf[TINY_POOL_SIZE];
@@ -137,10 +158,16 @@
                                 const char *name, jk_logger_t *l);
 
 const char *jk_lb_get_lock(lb_worker_t *p, jk_logger_t *l);
+int jk_lb_get_lock_code(const char *v);
 const char *jk_lb_get_method(lb_worker_t *p, jk_logger_t *l);
+int jk_lb_get_method_code(const char *v);
 const char *jk_lb_get_state(worker_record_t *p, jk_logger_t *l);
+int jk_lb_get_state_code(const char *v);
 const char *jk_lb_get_activation(worker_record_t *p, jk_logger_t *l);
+int jk_lb_get_activation_code(const char *v);
 void reset_lb_values(lb_worker_t *p, jk_logger_t *l);
+void jk_lb_pull(lb_worker_t * p, jk_logger_t *l);
+void jk_lb_push(lb_worker_t * p, jk_logger_t *l);
 void update_mult(lb_worker_t * p, jk_logger_t *l);
 
 #ifdef __cplusplus

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_logger.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_logger.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_logger.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Logger object definitions                                  *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 434087 $                                           *
+ * Version:     $Revision: 476849 $                                           *
  ***************************************************************************/
 
 #ifndef JK_LOGGER_H
@@ -35,6 +36,7 @@
 {
     void *logger_private;
     int level;
+    const char *log_fmt;
 
     int (JK_METHOD * log) (jk_logger_t *l, int level, const char *what);
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_map.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_map.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_map.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
  * Description: General purpose map object                                 *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  * Author:      Mladen Turk <mturk at apache.org>                             *
- * Version:     $Revision: 439824 $                                          *
+ * Version:     $Revision: 511887 $                                          *
  ***************************************************************************/
 #ifdef AS400
 #include "apr_xlate.h"
@@ -35,17 +36,11 @@
 #define JK_MAP_REFERENCE    (".reference")
 #define JK_MAP_REFERENCE_SZ (strlen(JK_MAP_REFERENCE))
 
-#ifdef AS400
-#define CASE_MASK 0xbfbfbfbf
-#else
-#define CASE_MASK 0xdfdfdfdf
-#endif
-
 /* Compute the "checksum" for a key, consisting of the first
- * 4 bytes, normalized for case-insensitivity and packed into
- * an int...this checksum allows us to do a single integer
+ * 4 bytes, packed into an int.
+ * This checksum allows us to do a single integer
  * comparison as a fast check to determine whether we can
- * skip a strcasecmp
+ * skip a strcmp
  */
 #define COMPUTE_KEY_CHECKSUM(key, checksum)    \
 {                                              \
@@ -67,7 +62,6 @@
         c = (unsigned int)*++k;                \
         checksum |= c;                         \
     }                                          \
-    checksum &= CASE_MASK;                     \
 }
 
 struct jk_map
@@ -240,21 +234,12 @@
 int jk_map_get_bool(jk_map_t *m, const char *name, int def)
 {
     char buf[100];
-    size_t len;
     const char *rc;
-    int rv = 0;
 
     sprintf(buf, "%d", def);
     rc = jk_map_get_string(m, name, buf);
 
-    len = strlen(rc);
-    if (len) {
-        if (strcasecmp(rc, "true") == 0 ||
-            *rc == 'Y' || *rc == 'y' || *rc == '1') {
-            rv = 1;
-        }
-    }
-    return rv;
+    return jk_get_bool_code(rc, def);
 }
 
 char **jk_map_get_string_list(jk_map_t *m,
@@ -342,7 +327,7 @@
         unsigned int key;
         COMPUTE_KEY_CHECKSUM(name, key)
         for (i = 0; i < m->size; i++) {
-            if (m->keys[i] == key && strcasecmp(m->names[i], name) == 0) {
+            if (m->keys[i] == key && strcmp(m->names[i], name) == 0) {
                 break;
             }
         }
@@ -361,7 +346,7 @@
     return rc;
 }
 
-int jk_map_read_property(jk_map_t *m, const char *str, jk_logger_t *l)
+int jk_map_read_property(jk_map_t *m, const char *str, int allow_duplicates, jk_logger_t *l)
 {
     int rc = JK_TRUE;
     char buf[LENGTH_OF_LINE + 1];
@@ -379,30 +364,51 @@
             trim(prp);
             trim(v);
             if (strlen(v) && strlen(prp)) {
-                const char *oldv = jk_map_get_string(m, prp, NULL);
-                v = jk_map_replace_properties(m, v);
-                if (oldv && jk_is_unique_property(prp) == JK_FALSE) {
-                    char *tmpv = jk_pool_alloc(&m->p,
-                                       strlen(v) + strlen(oldv) + 3);
-                    if (tmpv) {
-                        char sep = '*';
-                        if (jk_is_path_property(prp))
-                            sep = PATH_SEPERATOR;
-                        else if (jk_is_cmd_line_property(prp))
-                            sep = ' ';
-                        else if (jk_is_list_property(prp))
-                            sep = ',';
-                        sprintf(tmpv, "%s%c%s", oldv, sep, v);
+                const char *oldv;
+                int off = (int)strlen(prp) - (int)JK_MAP_REFERENCE_SZ;
+                /* check the worker properties */
+                if (off <= 0 || strncmp(&prp[off], JK_MAP_REFERENCE, JK_MAP_REFERENCE_SZ) ) {
+                    if (!jk_is_valid_property(prp)) {
+                        jk_log(l, JK_LOG_ERROR,
+                               "The attribute '%s' is not supported - please check"
+                               " the documentation for the supported attributes.",
+                               prp);
+                        return JK_FALSE;
                     }
-                    v = tmpv;
-                }
-                else {
                     if (jk_is_deprecated_property(prp)) {
                         jk_log(l, JK_LOG_WARNING,
-                               "The attribute %s is deprecated - please check"
+                               "The attribute '%s' is deprecated - please check"
                                " the documentation for the correct replacement.",
                                prp);
                     }
+                }
+                oldv = jk_map_get_string(m, prp, NULL);
+                v = jk_map_replace_properties(m, v);
+                if (oldv) {
+                    if (allow_duplicates && jk_is_unique_property(prp) == JK_FALSE) {
+                        char *tmpv = jk_pool_alloc(&m->p,
+                                           strlen(v) + strlen(oldv) + 3);
+                        if (tmpv) {
+                            char sep = '*';
+                            if (jk_is_path_property(prp))
+                                sep = PATH_SEPERATOR;
+                            else if (jk_is_cmd_line_property(prp))
+                                sep = ' ';
+                            else if (jk_is_list_property(prp))
+                                sep = ',';
+                            sprintf(tmpv, "%s%c%s", oldv, sep, v);
+                        }
+                        v = tmpv;
+                    }
+                    else {
+                        jk_log(l, JK_LOG_WARNING,
+                               "Duplicate key '%s' detected - previous value '%s'"
+                               " will be overwritten with '%s'.",
+                               prp, oldv ? oldv : "(null)", v ? v : "(null)");
+                        v = jk_pool_strdup(&m->p, v);
+                    }
+                }
+                else {
                     v = jk_pool_strdup(&m->p, v);
                 }
                 if (v) {
@@ -418,7 +424,7 @@
 }
 
 
-int jk_map_read_properties(jk_map_t *m, const char *f, time_t *modified, jk_logger_t *l)
+int jk_map_read_properties(jk_map_t *m, const char *f, time_t *modified, int allow_duplicates, jk_logger_t *l)
 {
     int rc = JK_FALSE;
 
@@ -442,7 +448,7 @@
             while (NULL != (prp = fgets(buf, LENGTH_OF_LINE, fp))) {
                 trim_prp_comment(prp);
                 if (*prp) {
-                    if ((rc = jk_map_read_property(m, prp, l)) == JK_FALSE)
+                    if ((rc = jk_map_read_property(m, prp, allow_duplicates, l)) == JK_FALSE)
                         break;
                 }
             }
@@ -661,7 +667,7 @@
                         *(to+remain)   = '.';
                         *(to+remain+1) = '\0';
 
-                        rc = jk_map_resolve_references(m, m->values[i], 0, ++depth, l);
+                        rc = jk_map_resolve_references(m, m->values[i], 0, depth+1, l);
                         if (rc == JK_FALSE) {
                             break;
                         }

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_map.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_map.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_map.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Map object header file                                     *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 437381 $                                           *
+ * Version:     $Revision: 500880 $                                           *
  ***************************************************************************/
 
 #ifndef JK_MAP_H
@@ -61,9 +62,9 @@
 
 int jk_map_put(jk_map_t *m, const char *name, const void *value, void **old);
 
-int jk_map_read_property(jk_map_t *m, const char *str, jk_logger_t *l);
+int jk_map_read_property(jk_map_t *m, const char *str, int allow_duplicates, jk_logger_t *l);
 
-int jk_map_read_properties(jk_map_t *m, const char *f, time_t *modified, jk_logger_t *l);
+int jk_map_read_properties(jk_map_t *m, const char *f, time_t *modified, int allow_duplicates, jk_logger_t *l);
 
 int jk_map_size(jk_map_t *m);
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_md5.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_md5.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_md5.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -61,7 +62,7 @@
 /***************************************************************************
  * Description: MD5 encoding wrapper                                       *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 406380 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 /*

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_md5.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_md5.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_md5.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_msg_buff.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_msg_buff.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_msg_buff.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
  * Author:      Costin <costin at costin.dnt.ro>                              *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 300508 $                                          *
+ * Version:     $Revision: 466585 $                                          *
  ***************************************************************************/
 
 #include "jk_pool.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_msg_buff.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_msg_buff.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_msg_buff.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
  * Description: Data marshaling. XDR like                                  *
  * Author:      Costin <costin at costin.dnt.ro>                              *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 300507 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 #ifndef JK_MSG_BUF_H

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_mt.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_mt.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_mt.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Multi thread portability code for JK                       *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 300467 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 #ifndef _JK_MT_H

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_nwmain.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_nwmain.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_nwmain.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Netware Wrapper                                            *
  * Author:      Mike Anderson <mmander at novell.com>                         *
- * Version:     $Revision: 299829 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 #ifdef NETWARE

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_pool.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_pool.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_pool.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Simple memory pool                                         *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 300548 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 #include "jk_pool.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_pool.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_pool.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_pool.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Memory Pool object header file                             *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 300079 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 #ifndef _JK_POOL_H
 #define _JK_POOL_H

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_service.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_service.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_service.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -21,7 +22,7 @@
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  * Author:      Dan Milstein <danmil at shore.net>                            *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 434345 $                                          *
+ * Version:     $Revision: 483456 $                                          *
  ***************************************************************************/
 
 #ifndef JK_SERVICE_H
@@ -186,12 +187,12 @@
     unsigned num_attributes;        /* Number of request attributes     */
 
     /*
-     * The jvm route is in use when the adapter load balance among
-     * several JVMs. It is the ID of a specific JVM in the load balance
-     * group. We are using this variable to implement JVM session
+     * The route is in use when the adapter load balance among
+     * several workers. It is the ID of a specific target in the load balance
+     * group. We are using this variable to implement target session
      * affinity
      */
-    const char *jvm_route;
+    const char *route;
 
     /* Temp solution for auth. For native1 it'll be sent on each request,
        if an option is present. For native2 it'll be sent with the first
@@ -216,6 +217,16 @@
      */
     int flush_packets;
 
+    /*
+     * If set call flush after AJP13_SEND_HEADERS.
+     */
+    int flush_header;
+
+    /*
+     * HTTP status sent from container.
+     */
+    int http_response_status;
+
     /* Uri worker map. Added for virtual host support
      */
     jk_uri_worker_map_t *uw_map;

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_shm.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_shm.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_shm.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
  * Description: Shared Memory support                                      *
  * Author:      Mladen Turk <mturk at jboss.com>                              *
  * Author:      Rainer Jung <rjung at apache.org>                             *
- * Version:     $Revision: 424266 $                                          *
+ * Version:     $Revision: 474921 $                                        *
  ***************************************************************************/
 
 #include "jk_global.h"
@@ -81,6 +82,7 @@
 int jk_shm_open(const char *fname, size_t sz, jk_logger_t *l)
 {
     int rc;
+    int attached = 0;
     JK_TRACE_ENTER(l);
     if (jk_shmem.hdr) {
         if (JK_IS_DEBUG_LEVEL(l))
@@ -99,9 +101,12 @@
                                        0,
                                        (DWORD)(sizeof(jk_shm_header_t) + sz),
                                        fname);
-        if (jk_shm_map == NULL || jk_shm_map == INVALID_HANDLE_VALUE &&
-            GetLastError() == ERROR_ALREADY_EXISTS)
-            jk_shm_map = OpenFileMapping(PAGE_READWRITE, FALSE, fname);
+        if (GetLastError() == ERROR_ALREADY_EXISTS) {
+            attached = 1;
+            if (jk_shm_map == NULL || jk_shm_map == INVALID_HANDLE_VALUE) {
+                jk_shm_map = OpenFileMapping(PAGE_READWRITE, FALSE, fname);
+            }
+        }
         if (jk_shm_map == NULL || jk_shm_map == INVALID_HANDLE_VALUE) {
             JK_TRACE_EXIT(l);
             return -1;
@@ -127,13 +132,37 @@
     }
     jk_shmem.filename = "memory";
     jk_shmem.fd       = 0;
-    jk_shmem.attached = 0;
-    memcpy(jk_shmem.hdr->h.data.magic, shm_signature, JK_SHM_MAGIC_SIZ);
-    jk_shmem.hdr->h.data.size = sz;
+    jk_shmem.attached = attached;
+    if (!attached) {
+        memcpy(jk_shmem.hdr->h.data.magic, shm_signature,
+               JK_SHM_MAGIC_SIZ);
+        jk_shmem.hdr->h.data.size = sz;
+        jk_shmem.hdr->h.data.childs = 1;
+    }
+    else {
+        jk_shmem.hdr->h.data.childs++;
+        /*
+         * Reset the shared memory so that
+         * alloc works even for attached memory.
+         * XXX: This might break already used memory
+         * if the number of workers change between
+         * open and attach or between two attach operations.
+         */
+        if (jk_shmem.hdr->h.data.childs > 1) {
+            if (JK_IS_DEBUG_LEVEL(l)) {
+                jk_log(l, JK_LOG_DEBUG,
+                       "Reseting the shared memory for child %d",
+                       jk_shmem.hdr->h.data.childs);
+            }
+        }
+        jk_shmem.hdr->h.data.pos     = 0;
+        jk_shmem.hdr->h.data.workers = 0;
+    }
     JK_INIT_CS(&(jk_shmem.cs), rc);
     if (JK_IS_DEBUG_LEVEL(l))
         jk_log(l, JK_LOG_DEBUG,
-               "Initialized shared memory size=%u free=%u addr=%#lx",
+               "%s shared memory size=%u free=%u addr=%#lx",
+               attached ? "Attached" : "Initialized",
                jk_shmem.size, jk_shmem.hdr->h.data.size, jk_shmem.hdr);
     JK_TRACE_EXIT(l);
     return 0;
@@ -143,14 +172,16 @@
 {
     JK_TRACE_ENTER(l);
     if (!jk_shm_open(fname, sz, l)) {
-        jk_shmem.attached = 1;
-        jk_shmem.hdr->h.data.childs++;
-        if (JK_IS_DEBUG_LEVEL(l))
-            jk_log(l, JK_LOG_DEBUG,
+        if (!jk_shmem.attached) {
+            jk_shmem.attached = 1;
+            if (JK_IS_DEBUG_LEVEL(l)) {
+                jk_log(l, JK_LOG_DEBUG,
                    "Attached shared memory [%d] size=%u free=%u addr=%#lx",
                    jk_shmem.hdr->h.data.childs, jk_shmem.hdr->h.data.size,
                    jk_shmem.hdr->h.data.size - jk_shmem.hdr->h.data.pos,
                    jk_shmem.hdr);
+            }
+        }
         JK_TRACE_EXIT(l);
         return 0;
     }
@@ -166,6 +197,7 @@
         int rc;
 #if defined (WIN32)
         if (jk_shm_map) {
+            --jk_shmem.hdr->h.data.childs;
             UnmapViewOfFile(jk_shmem.hdr);
             CloseHandle(jk_shm_map);
             jk_shm_map = NULL;
@@ -323,6 +355,7 @@
         memset(jk_shmem.hdr, 0, jk_shmem.size);
         memcpy(jk_shmem.hdr->h.data.magic, shm_signature, JK_SHM_MAGIC_SIZ);
         jk_shmem.hdr->h.data.size = sz;
+        jk_shmem.hdr->h.data.childs = 1;
         if (JK_IS_DEBUG_LEVEL(l))
             jk_log(l, JK_LOG_DEBUG,
                    "Initialized shared memory size=%u free=%u addr=%#lx",
@@ -336,7 +369,22 @@
                    jk_shmem.hdr->h.data.childs, jk_shmem.hdr->h.data.size,
                    jk_shmem.hdr->h.data.size - jk_shmem.hdr->h.data.pos,
                    jk_shmem.hdr);
-        /* TODO: check header magic */
+        /*
+         * Reset the shared memory so that
+         * alloc works even for attached memory.
+         * XXX: This might break already used memory
+         * if the number of workers change between
+         * open and attach or between two attach operations.
+         */
+        if (jk_shmem.hdr->h.data.childs > 1) {
+            if (JK_IS_DEBUG_LEVEL(l)) {
+                jk_log(l, JK_LOG_DEBUG,
+                       "Reseting the shared memory for child %d",
+                       jk_shmem.hdr->h.data.childs);
+            }
+        }
+        jk_shmem.hdr->h.data.pos     = 0;
+        jk_shmem.hdr->h.data.workers = 0;
     }
     JK_INIT_CS(&(jk_shmem.cs), rc);
     if ((rc = do_shm_open_lock(fname, attached, l))) {
@@ -365,6 +413,8 @@
 {
     int rc;
     if (jk_shmem.hdr) {
+        --jk_shmem.hdr->h.data.childs;
+
         if (jk_shmem.attached) {
             int p = (int)getpid();
             if (p != jk_shmem.attached) {

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_shm.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_shm.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_shm.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
  * Description: Shared Memory object header file                           *
  * Author:      Mladen Turk <mturk at jboss.com>                              *
  * Author:      Rainer Jung <rjung at apache.org>                             *
- * Version:     $Revision: 441427 $                                           *
+ * Version:     $Revision: 500534 $                                           *
  ***************************************************************************/
 #ifndef _JK_SHM_H
 #define _JK_SHM_H
@@ -58,6 +59,10 @@
 struct jk_shm_worker
 {
     int     id;
+    /* Sequence counter starting at 0 and increasing
+     * every time we change the config
+     */
+    volatile unsigned int sequence;
     /* Number of currently busy channels */
     volatile int busy;
     /* Maximum number of busy channels */
@@ -66,8 +71,8 @@
     volatile int connected;
     /* worker name */
     char    name[JK_SHM_STR_SIZ+1];
-    /* jvm route */
-    char    jvm_route[JK_SHM_STR_SIZ+1];
+    /* route */
+    char    route[JK_SHM_STR_SIZ+1];
     /* worker domain */
     char    domain[JK_SHM_STR_SIZ+1];
     /* worker redirect route */
@@ -88,6 +93,9 @@
     int     sticky_session_force;
     int     recover_wait_time;
     int     retries;
+    int     lbmethod;
+    int     lblock;
+    unsigned int max_packet_size;
     /* Statistical data */
     volatile time_t  error_time;
     /* Service transfer rate time */

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_sockbuf.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_sockbuf.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_sockbuf.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Simple buffer object to handle buffered socket IO          *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 424266 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 #include "jk_global.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_sockbuf.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_sockbuf.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_sockbuf.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Socket buffer header file                                  *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 424266 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 #include "jk_global.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_status.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_status.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_status.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
  * Description: Status worker, display and manages JK workers              *
  * Author:      Mladen Turk <mturk at jboss.com>                              *
  * Author:      Rainer Jung <rjung at apache.org>                             *
- * Version:     $Revision: 441427 $                                           *
+ * Version:     $Revision: 500830 $                                        *
  ***************************************************************************/
 
 #include "jk_pool.h"
@@ -37,27 +38,211 @@
 
 #define HUGE_BUFFER_SIZE (8*1024)
 
-#define JK_STATUS_HEAD "<!DOCTYPE HTML PUBLIC \"-//W3C//" \
-                       "DTD HTML 3.2 Final//EN\">\n"      \
-                       "<html><head><title>JK Status Manager</title>"
+/**
+ * Command line reference:
+ * cmd=list (default) display configuration
+ * cmd=show display detailed configuration
+ * cmd=edit form to change configuration
+ * cmd=update commit update configuration
+ * cmd=reset reset lb runtime states, or lb member runtime states
+ * cmd=version show only software version
+ * Query arguments:
+ * re=n (refresh time in seconds, n=0: disabled)
+ * w=worker (cmd should be executed for worker "worker")
+ * sw=sub_worker (cmd should be executed for "sub_worker" of worker "worker")
+ * from=lastcmd (the last viewing command was "lastcmd")
+ * opt=option (changes meaning of edit and list/show)
+ */
 
-#define JK_STATUS_HEND "</head>\n<body>\n"
-#define JK_STATUS_BEND "</body>\n</html>\n"
+#define JK_STATUS_ARG_CMD                  "cmd"
+#define JK_STATUS_ARG_MIME                 "mime"
+#define JK_STATUS_ARG_FROM                 "from"
+#define JK_STATUS_ARG_REFRESH              "re"
+#define JK_STATUS_ARG_WORKER               "w"
+#define JK_STATUS_ARG_SUB_WORKER           "sw"
+#define JK_STATUS_ARG_ATTRIBUTE            "att"
+#define JK_STATUS_ARG_MULT_VALUE_BASE      "val"
+#define JK_STATUS_ARG_OPTIONS              "opt"
 
-#define JK_STATUS_XMLH "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"          \
-                       "<jk:status xmlns:jk=\"http://tomcat.apache.org\">\n"
+#define JK_STATUS_ARG_OPTION_NO_MEMBERS    0x0001
+#define JK_STATUS_ARG_OPTION_NO_MAPS       0x0002
+#define JK_STATUS_ARG_OPTION_NO_LEGEND     0x0004
+#define JK_STATUS_ARG_OPTION_NO_LB         0x0008
+#define JK_STATUS_ARG_OPTION_NO_AJP        0x0010
+#define JK_STATUS_ARG_OPTION_READ_ONLY     0x0020
 
-#define JK_STATUS_XMLE "</jk:status>\n"
+#define JK_STATUS_ARG_LB_RETRIES           ("lr")
+#define JK_STATUS_ARG_LB_RECOVER_TIME      ("lt")
+#define JK_STATUS_ARG_LB_STICKY            ("ls")
+#define JK_STATUS_ARG_LB_STICKY_FORCE      ("lf")
+#define JK_STATUS_ARG_LB_METHOD            ("lm")
+#define JK_STATUS_ARG_LB_LOCK              ("ll")
 
-#define JK_STATUS_TEXTUPDATE_RESPONCE "OK - jk status worker updated\n"
+#define JK_STATUS_ARG_LB_TEXT_RETRIES      "Retries"
+#define JK_STATUS_ARG_LB_TEXT_RECOVER_TIME "Recover Wait Time"
+#define JK_STATUS_ARG_LB_TEXT_STICKY       "Sticky Sessions"
+#define JK_STATUS_ARG_LB_TEXT_STICKY_FORCE "Force Sticky Sessions"
+#define JK_STATUS_ARG_LB_TEXT_METHOD       "LB Method"
+#define JK_STATUS_ARG_LB_TEXT_LOCK         "Locking"
 
+#define JK_STATUS_ARG_LBM_ACTIVATION       ("wa")
+#define JK_STATUS_ARG_LBM_FACTOR           ("wf")
+#define JK_STATUS_ARG_LBM_ROUTE            ("wn")
+#define JK_STATUS_ARG_LBM_REDIRECT         ("wr")
+#define JK_STATUS_ARG_LBM_DOMAIN           ("wc")
+#define JK_STATUS_ARG_LBM_DISTANCE         ("wd")
+
+#define JK_STATUS_ARG_LBM_TEXT_ACTIVATION  "Activation"
+#define JK_STATUS_ARG_LBM_TEXT_FACTOR      "LB Factor"
+#define JK_STATUS_ARG_LBM_TEXT_ROUTE       "Route"
+#define JK_STATUS_ARG_LBM_TEXT_REDIRECT    "Redirect Route"
+#define JK_STATUS_ARG_LBM_TEXT_DOMAIN      "Cluster Domain"
+#define JK_STATUS_ARG_LBM_TEXT_DISTANCE    "Distance"
+
+#define JK_STATUS_CMD_UNKNOWN              (0)
+#define JK_STATUS_CMD_LIST                 (1)
+#define JK_STATUS_CMD_SHOW                 (2)
+#define JK_STATUS_CMD_EDIT                 (3)
+#define JK_STATUS_CMD_UPDATE               (4)
+#define JK_STATUS_CMD_RESET                (5)
+#define JK_STATUS_CMD_VERSION              (6)
+#define JK_STATUS_CMD_RECOVER              (7)
+#define JK_STATUS_CMD_DEF                  (JK_STATUS_CMD_LIST)
+#define JK_STATUS_CMD_MAX                  (JK_STATUS_CMD_RECOVER)
+#define JK_STATUS_CMD_TEXT_UNKNOWN         ("unknown")
+#define JK_STATUS_CMD_TEXT_LIST            ("list")
+#define JK_STATUS_CMD_TEXT_SHOW            ("show")
+#define JK_STATUS_CMD_TEXT_EDIT            ("edit")
+#define JK_STATUS_CMD_TEXT_UPDATE          ("update")
+#define JK_STATUS_CMD_TEXT_RESET           ("reset")
+#define JK_STATUS_CMD_TEXT_VERSION         ("version")
+#define JK_STATUS_CMD_TEXT_RECOVER         ("recover")
+#define JK_STATUS_CMD_TEXT_DEF             (JK_STATUS_CMD_TEXT_LIST)
+
+#define JK_STATUS_MIME_UNKNOWN             (0)
+#define JK_STATUS_MIME_HTML                (1)
+#define JK_STATUS_MIME_XML                 (2)
+#define JK_STATUS_MIME_TXT                 (3)
+#define JK_STATUS_MIME_PROP                (4)
+#define JK_STATUS_MIME_DEF                 (JK_STATUS_MIME_HTML)
+#define JK_STATUS_MIME_MAX                 (JK_STATUS_MIME_PROP)
+#define JK_STATUS_MIME_TEXT_UNKNOWN        ("unknown")
+#define JK_STATUS_MIME_TEXT_HTML           ("html")
+#define JK_STATUS_MIME_TEXT_XML            ("xml")
+#define JK_STATUS_MIME_TEXT_TXT            ("txt")
+#define JK_STATUS_MIME_TEXT_PROP           ("prop")
+#define JK_STATUS_MIME_TEXT_DEF            (JK_STATUS_MIME_TEXT_HTML)
+
+#define JK_STATUS_MASK_ACTIVE              0x000000FF
+#define JK_STATUS_MASK_DISABLED            0x0000FF00
+#define JK_STATUS_MASK_STOPPED             0x00FF0000
+#define JK_STATUS_MASK_OK                  0x00010101
+#define JK_STATUS_MASK_NA                  0x00020202
+#define JK_STATUS_MASK_BUSY                0x00040404
+#define JK_STATUS_MASK_RECOVER             0x00080808
+#define JK_STATUS_MASK_ERROR               0x00101010
+#define JK_STATUS_MASK_GOOD_DEF            0x0000000F
+#define JK_STATUS_MASK_BAD_DEF             0x00FF1010
+
+#define JK_STATUS_WAIT_AFTER_UPDATE        "3"
+#define JK_STATUS_REFRESH_DEF              "10"
+#define JK_STATUS_ESC_CHARS                ("<>?&")
+
+#define JK_STATUS_HEAD                     "<!DOCTYPE HTML PUBLIC \"-//W3C//" \
+                                           "DTD HTML 3.2 Final//EN\">\n"      \
+                                           "<html><head><title>JK Status Manager</title>"
+
+#define JK_STATUS_COPYRIGHT                "Copyright &#169; 1999-2006, The Apache Software Foundation<br />" \
+                                           "Licensed under the <a href=\"http://www.apache.org/licenses/LICENSE-2.0\">" \
+                                           "Apache License, Version 2.0</a>."
+
+#define JK_STATUS_HEND                     "</head>\n<body>\n"
+#define JK_STATUS_BEND                     "</body>\n</html>\n"
+
+#define JK_STATUS_XMLH                     "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"
+
+#define JK_STATUS_NS_DEF                   "jk:"
+#define JK_STATUS_XMLNS_DEF                "xmlns:jk=\"http://tomcat.apache.org\""
+#define JK_STATUS_PREFIX_DEF               "worker"
+
+#define JK_STATUS_FORM_START               "<form method=\"%s\" action=\"%s\">\n"
+#define JK_STATUS_FORM_HIDDEN_INT          "<input type=\"hidden\" name=\"%s\" value=\"%d\"/>\n"
+#define JK_STATUS_FORM_HIDDEN_STRING       "<input type=\"hidden\" name=\"%s\" value=\"%s\"/>\n"
+#define JK_STATUS_TABLE_HEAD_3_STRING      "<tr><th>%s</th><th>%s</th><th>%s</th></tr>\n"
+#define JK_STATUS_TABLE_ROW_3_STRING       "<tr><td>%s</td><td>%s</td><td>%s</td></tr>\n"
+#define JK_STATUS_SHOW_AJP_HEAD            "<tr>" \
+                                           "<th>Type</th>" \
+                                           "<th>Host</th>" \
+                                           "<th>Addr</th>" \
+                                           "</tr>\n"
+#define JK_STATUS_SHOW_AJP_ROW             "<tr>" \
+                                           "<td>%s</td>" \
+                                           "<td>%s:%d</td>" \
+                                           "<td>%s</td>" \
+                                           "</tr>\n"
+#define JK_STATUS_SHOW_LB_HEAD             "<tr>" \
+                                           "<th>Type</th>" \
+                                           "<th>" JK_STATUS_ARG_LB_TEXT_STICKY "</th>" \
+                                           "<th>" JK_STATUS_ARG_LB_TEXT_STICKY_FORCE "</th>" \
+                                           "<th>" JK_STATUS_ARG_LB_TEXT_RETRIES "</th>" \
+                                           "<th>" JK_STATUS_ARG_LB_TEXT_METHOD "</th>" \
+                                           "<th>" JK_STATUS_ARG_LB_TEXT_LOCK "</th>" \
+                                           "<th>" JK_STATUS_ARG_LB_TEXT_RECOVER_TIME "</th>" \
+                                           "</tr>\n"
+#define JK_STATUS_SHOW_LB_ROW              "<tr>" \
+                                           "<td>%s</td>" \
+                                           "<td>%s</td>" \
+                                           "<td>%s</td>" \
+                                           "<td>%d</td>" \
+                                           "<td>%s</td>" \
+                                           "<td>%s</td>" \
+                                           "<td>%d</td>" \
+                                           "</tr>\n"
+#define JK_STATUS_SHOW_MEMBER_HEAD         "<tr>" \
+                                           "<th>&nbsp;</th><th>Name</th><th>Type</th>" \
+                                           "<th>Host</th><th>Addr</th>" \
+                                           "<th>Act</th><th>Stat</th>" \
+                                           "<th>D</th><th>F</th><th>M</th>" \
+                                           "<th>V</th><th>Acc</th>" \
+                                           "<th>Err</th><th>CE</th>" \
+                                           "<th>Wr</th><th>Rd</th><th>Busy</th><th>Max</th>" \
+                                           "<th>" JK_STATUS_ARG_LBM_TEXT_ROUTE "</th>" \
+                                           "<th>RR</th><th>Cd</th><th>Rs</th>" \
+                                           "</tr>\n"
+#define JK_STATUS_SHOW_MEMBER_ROW          "<td>%s</td>" \
+                                           "<td>%s</td>" \
+                                           "<td>%s:%d</td>" \
+                                           "<td>%s</td>" \
+                                           "<td>%s</td>" \
+                                           "<td>%s</td>" \
+                                           "<td>%d</td>" \
+                                           "<td>%d</td>" \
+                                           "<td>%" JK_UINT64_T_FMT "</td>" \
+                                           "<td>%" JK_UINT64_T_FMT "</td>" \
+                                           "<td>%" JK_UINT64_T_FMT "</td>" \
+                                           "<td>%" JK_UINT32_T_FMT "</td>" \
+                                           "<td>%" JK_UINT32_T_FMT "</td>" \
+                                           "<td>%s</td>" \
+                                           "<td>%s</td>" \
+                                           "<td>%d</td>" \
+                                           "<td>%d</td>" \
+                                           "<td>%s</td>" \
+                                           "<td>%s</td>" \
+                                           "<td>%s</td>" \
+                                           "<td>%d/%d</td>" \
+                                           "</tr>\n"
+
 typedef struct status_worker status_worker_t;
 
 struct status_endpoint
 {
-    jk_endpoint_t   *e;
-    status_worker_t *s_worker;
+    status_worker_t *worker;
+
+    jk_map_t        *req_params;
+    char            *msg;
+
     jk_endpoint_t   endpoint;
+
 };
 
 typedef struct status_endpoint status_endpoint_t;
@@ -68,8 +253,17 @@
     jk_pool_atom_t    buf[TINY_POOL_SIZE];
     const char        *name;
     const char        *css;
+    const char        *ns;
+    const char        *xmlns;
+    const char        *doctype;
+    const char        *prefix;
+    int               read_only;
+    char              **user_names;
+    unsigned int      num_of_users;
+    int               user_case_insensitive;
+    jk_uint32_t       good_mask;
+    jk_uint32_t       bad_mask;
     jk_worker_t       worker;
-    status_endpoint_t ep;
     jk_worker_env_t   *we;
 };
 
@@ -91,6 +285,27 @@
     NULL
 };
 
+static const char *cmd_type[] = {
+    JK_STATUS_CMD_TEXT_UNKNOWN,
+    JK_STATUS_CMD_TEXT_LIST,
+    JK_STATUS_CMD_TEXT_SHOW,
+    JK_STATUS_CMD_TEXT_EDIT,
+    JK_STATUS_CMD_TEXT_UPDATE,
+    JK_STATUS_CMD_TEXT_RESET,
+    JK_STATUS_CMD_TEXT_VERSION,
+    JK_STATUS_CMD_TEXT_RECOVER,
+    NULL
+};
+
+static const char *mime_type[] = {
+    JK_STATUS_MIME_TEXT_UNKNOWN,
+    JK_STATUS_MIME_TEXT_HTML,
+    JK_STATUS_MIME_TEXT_XML,
+    JK_STATUS_MIME_TEXT_TXT,
+    JK_STATUS_MIME_TEXT_PROP,
+    NULL
+};
+
 #define HEADERS_NO_CACHE "no-cache", "no-cache", NULL
 
 static const char *headers_vhtml[] = {
@@ -130,6 +345,29 @@
 }
 #endif
 
+static void jk_puts(jk_ws_service_t *s, const char *str)
+{
+    if (str)
+        s->write(s, str, (unsigned int)strlen(str));
+    else
+        s->write(s, "(null)", 6);
+}
+
+static void jk_putv(jk_ws_service_t *s, ...)
+{
+    va_list va;
+    const char *str;
+
+    va_start(va, s);
+    while (1) {
+        str = va_arg(va, const char *);
+        if (str == NULL)
+            break;
+        s->write(s, str, (unsigned int)strlen(str));
+    }
+    va_end(va);
+}
+
 static int jk_printf(jk_ws_service_t *s, const char *fmt, ...)
 {
     int rc = 0;
@@ -166,6 +404,124 @@
     return rc;
 }
 
+static void jk_print_xml_start_elt(jk_ws_service_t *s, status_worker_t *w,
+                                   int indentation, int close_tag,
+                                   const char *name)
+{
+    if (close_tag) {
+        jk_printf(s, "%*s<%s%s>\n", indentation, "", w->ns, name);
+    }
+    else {
+        jk_printf(s, "%*s<%s%s\n", indentation, "", w->ns, name);
+    }
+}
+
+static void jk_print_xml_close_elt(jk_ws_service_t *s, status_worker_t *w,
+                                   int indentation,
+                                   const char *name)
+{
+    jk_printf(s, "%*s</%s%s>\n", indentation, "", w->ns, name);
+}
+
+static void jk_print_xml_stop_elt(jk_ws_service_t *s,
+                                  int indentation, int close_tag)
+{
+    if (close_tag) {
+        jk_printf(s, "%*s/>\n", indentation, "");
+    }
+    else {
+        jk_printf(s, "%*s>\n", indentation, "");
+    }
+}
+
+static void jk_print_xml_att_string(jk_ws_service_t *s,
+                                    int indentation,
+                                    const char *key, const char *value)
+{
+    jk_printf(s, "%*s%s=\"%s\"\n", indentation, "", key, value ? value : "");
+}
+
+static void jk_print_xml_att_int(jk_ws_service_t *s,
+                                 int indentation,
+                                 const char *key, int value)
+{
+    jk_printf(s, "%*s%s=\"%d\"\n", indentation, "", key, value);
+}
+
+static void jk_print_xml_att_uint32(jk_ws_service_t *s,
+                                    int indentation,
+                                    const char *key, jk_uint32_t value)
+{
+    jk_printf(s, "%*s%s=\"%" JK_UINT32_T_FMT "\"\n", indentation, "", key, value);
+}
+
+static void jk_print_xml_att_uint64(jk_ws_service_t *s,
+                                    int indentation,
+                                    const char *key, jk_uint64_t value)
+{
+    jk_printf(s, "%*s%s=\"%" JK_UINT64_T_FMT "\"\n", indentation, "", key, value);
+}
+
+static void jk_print_prop_att_string(jk_ws_service_t *s, status_worker_t *w,
+                                     const char *name,
+                                     const char *key, const char *value)
+{
+    if (name) {
+        jk_printf(s, "%s.%s.%s=%s\n", w->prefix, name, key, value ? value : "");
+    }
+    else {
+        jk_printf(s, "%s.%s=%s\n", w->prefix, key, value ? value : "");
+    }
+}
+
+static void jk_print_prop_att_int(jk_ws_service_t *s, status_worker_t *w,
+                                  const char *name,
+                                  const char *key, int value)
+{
+    if (name) {
+        jk_printf(s, "%s.%s.%s=%d\n", w->prefix, name, key, value);
+    }
+    else {
+        jk_printf(s, "%s.%s=%d\n", w->prefix, key, value);
+    }
+}
+
+static void jk_print_prop_att_uint32(jk_ws_service_t *s, status_worker_t *w,
+                                     const char *name,
+                                     const char *key, jk_uint32_t value)
+{
+    if (name) {
+        jk_printf(s, "%s.%s.%s=%" JK_UINT32_T_FMT "\n", w->prefix, name, key, value);
+    }
+    else {
+        jk_printf(s, "%s.%s=%" JK_UINT32_T_FMT "\n", w->prefix, key, value);
+    }
+}
+
+static void jk_print_prop_att_uint64(jk_ws_service_t *s, status_worker_t *w,
+                                     const char *name,
+                                     const char *key, jk_uint64_t value)
+{
+    if (name) {
+        jk_printf(s, "%s.%s.%s=%" JK_UINT64_T_FMT "\n", w->prefix, name, key, value);
+    }
+    else {
+        jk_printf(s, "%s.%s=%" JK_UINT64_T_FMT "\n", w->prefix, key, value);
+    }
+}
+
+static void jk_print_prop_item_string(jk_ws_service_t *s, status_worker_t *w,
+                                      const char *name, const char *list, int num,
+                                      const char *key, const char *value)
+{
+    if (name) {
+        jk_printf(s, "%s.%s.%s.%d.%s=%s\n", w->prefix, name, list, num, key, value ? value : "");
+    }
+    else {
+        jk_printf(s, "%s.%s.%d.%s=%s\n", w->prefix, list, num, key, value ? value : "");
+    }
+}
+
 /* Actually APR's apr_strfsize */
 static char *status_strfsize(jk_uint64_t size, char *buf)
 {
@@ -201,6 +557,141 @@
     } while (1);
 }
 
+static int status_rate(worker_record_t *wr, status_worker_t *w,
+                       jk_logger_t *l)
+{
+    jk_uint32_t mask = 0;
+    int activation = wr->s->activation;
+    int state = wr->s->state;
+    jk_uint32_t good = w->good_mask;
+    jk_uint32_t bad = w->bad_mask;
+    int rv = 0;
+
+    switch (activation)
+    {
+    case JK_LB_ACTIVATION_ACTIVE:
+        mask = JK_STATUS_MASK_ACTIVE;
+        break;
+    case JK_LB_ACTIVATION_DISABLED:
+        mask = JK_STATUS_MASK_DISABLED;
+        break;
+    case JK_LB_ACTIVATION_STOPPED:
+        mask = JK_STATUS_MASK_STOPPED;
+        break;
+    default:
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' unknown activation type '%d'",
+               w->name, activation);
+    }
+    switch (state)
+    {
+    case JK_LB_STATE_OK:
+        mask &= JK_STATUS_MASK_OK;
+        break;
+    case JK_LB_STATE_NA:
+        mask &= JK_STATUS_MASK_NA;
+        break;
+    case JK_LB_STATE_BUSY:
+        mask &= JK_STATUS_MASK_BUSY;
+        break;
+    case JK_LB_STATE_ERROR:
+        mask &= JK_STATUS_MASK_ERROR;
+        break;
+    case JK_LB_STATE_RECOVER:
+        mask &= JK_STATUS_MASK_RECOVER;
+        break;
+    case JK_LB_STATE_FORCE:
+        mask &= JK_STATUS_MASK_RECOVER;
+        break;
+    case JK_LB_STATE_PROBE:
+        mask &= JK_STATUS_MASK_RECOVER;
+        break;
+    default:
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' unknown state type '%d'",
+               w->name, state);
+    }
+    if (mask&bad)
+        rv = -1;
+    else if (mask&good)
+        rv = 1;
+    else
+        rv = 0;
+    if (JK_IS_DEBUG_LEVEL(l))
+        jk_log(l, JK_LOG_DEBUG,
+               "Status worker '%s' rating of activation '%s' and state '%s' for good '%08" JK_UINT32_T_HEX_FMT
+               "' and bad '%08" JK_UINT32_T_HEX_FMT "' is %d",
+               w->name, jk_lb_get_activation(wr, l), jk_lb_get_state(wr, l),
+               good, bad, rv);
+    return rv;
+}
+
+static jk_uint32_t status_get_single_rating(const char rating, jk_logger_t *l)
+{
+    if (JK_IS_DEBUG_LEVEL(l))
+        jk_log(l, JK_LOG_DEBUG,
+               "rating retrieval for '%c'",
+               rating);
+    switch (rating)
+    {
+    case 'A':
+    case 'a':
+        return JK_STATUS_MASK_ACTIVE;
+    case 'D':
+    case 'd':
+        return JK_STATUS_MASK_DISABLED;
+    case 'S':
+    case 's':
+        return JK_STATUS_MASK_STOPPED;
+    case 'O':
+    case 'o':
+        return JK_STATUS_MASK_OK;
+    case 'N':
+    case 'n':
+        return JK_STATUS_MASK_NA;
+    case 'B':
+    case 'b':
+        return JK_STATUS_MASK_BUSY;
+    case 'R':
+    case 'r':
+        return JK_STATUS_MASK_RECOVER;
+    case 'E':
+    case 'e':
+        return JK_STATUS_MASK_ERROR;
+    default:
+        jk_log(l, JK_LOG_WARNING,
+               "Unknown rating type '%c'",
+               rating);
+        return 0;
+    }
+}
+
+static jk_uint32_t status_get_rating(const char *rating,
+                                     jk_logger_t *l)
+{
+    int off = 0;
+    jk_uint32_t mask = 0;
+
+    while (rating[off] == ' ' || rating[off] == '\t' || rating[off] == '.') {
+        off++;
+    }
+    mask = status_get_single_rating(rating[off], l);
+    while (rating[off] != '\0' && rating[off] != '.') {
+        off++;
+    }
+    if (rating[off] == '.') {
+        off++;
+    }
+    if (rating[off] != '\0') {
+        mask &= status_get_single_rating(rating[off], l);
+    }
+    if (JK_IS_DEBUG_LEVEL(l))
+        jk_log(l, JK_LOG_DEBUG,
+               "rating for '%s' is '%08" JK_UINT32_T_HEX_FMT "'",
+               rating, mask);
+    return mask;
+}
+
 static const char *status_worker_type(int t)
 {
     if (t < 0 || t > 6)
@@ -209,393 +700,1802 @@
 }
 
 
-static const char *status_val_bool(int v)
+static int status_get_string(status_endpoint_t *p,
+                             const char *param,
+                             const char *def,
+                             const char **result,
+                             jk_logger_t *l)
 {
-    if (v == 0)
-        return "False";
-    else
-        return "True";
+    int rv;
+
+    *result = jk_map_get_string(p->req_params,
+                                param, NULL);
+    if (*result) {
+        rv = JK_TRUE;
+    }
+    else {
+        *result = def;
+        rv = JK_FALSE;
+    }
+    if (JK_IS_DEBUG_LEVEL(l))
+        jk_log(l, JK_LOG_DEBUG,
+               "retrieved string arg '%s' as '%s'%s",
+               param, *result ? *result : "(null)",
+               rv == JK_FALSE ? " (default)" : "");
+    return rv;
 }
 
-static const char *status_val_match(unsigned int match)
+static int status_get_int(status_endpoint_t *p,
+                          const char *param,
+                          int def,
+                          jk_logger_t *l)
 {
-    if (match & MATCH_TYPE_STOPPED)
-        return "Stopped";
-    else if (match & MATCH_TYPE_DISABLED)
-        return "Disabled";
-    else if (match & MATCH_TYPE_NO_MATCH)
-        return "Unmount";
-    else if (match & MATCH_TYPE_EXACT)
-        return "Exact";
-    else if (match & MATCH_TYPE_CONTEXT)
-        return "Context";
-    else if (match & MATCH_TYPE_CONTEXT_PATH)
-        return "Context Path";
-    else if (match & MATCH_TYPE_SUFFIX)
-        return "Suffix";
-    else if (match & MATCH_TYPE_GENERAL_SUFFIX)
-        return "General Suffix";
-    else if (match & MATCH_TYPE_WILDCHAR_PATH)
-        return "Wildchar";
-    else
-        return "Error";
+    const char *arg;
+    int rv = def;
+
+    if (status_get_string(p, param, NULL, &arg, l) == JK_TRUE) {
+        rv = atoi(arg);
+    }
+    return rv;
 }
 
-static void jk_puts(jk_ws_service_t *s, const char *str)
+static int status_get_bool(status_endpoint_t *p,
+                           const char *param,
+                           int def,
+                           jk_logger_t *l)
 {
-    if (str)
-        s->write(s, str, (unsigned int)strlen(str));
+    const char *arg;
+
+    if (status_get_string(p, param, NULL, &arg, l) == JK_TRUE) {
+        return jk_get_bool_code(arg, def);
+    }
+    return def;
+}
+
+const char *status_cmd_text(int cmd)
+{
+    return cmd_type[cmd];
+}
+
+static int status_cmd_int(const char *cmd)
+{
+    if (!cmd)
+        return JK_STATUS_CMD_DEF;
+    if (!strcmp(cmd, JK_STATUS_CMD_TEXT_LIST))
+        return JK_STATUS_CMD_LIST;
+    else if (!strcmp(cmd, JK_STATUS_CMD_TEXT_SHOW))
+        return JK_STATUS_CMD_SHOW;
+    else if (!strcmp(cmd, JK_STATUS_CMD_TEXT_EDIT))
+        return JK_STATUS_CMD_EDIT;
+    else if (!strcmp(cmd, JK_STATUS_CMD_TEXT_UPDATE))
+        return JK_STATUS_CMD_UPDATE;
+    else if (!strcmp(cmd, JK_STATUS_CMD_TEXT_RESET))
+        return JK_STATUS_CMD_RESET;
+    else if (!strcmp(cmd, JK_STATUS_CMD_TEXT_VERSION))
+        return JK_STATUS_CMD_VERSION;
+    else if (!strcmp(cmd, JK_STATUS_CMD_TEXT_RECOVER))
+        return JK_STATUS_CMD_RECOVER;
+    return JK_STATUS_CMD_UNKNOWN;
+}
+
+const char *status_mime_text(int mime)
+{
+    return mime_type[mime];
+}
+
+static int status_mime_int(const char *mime)
+{
+    if (!mime)
+        return JK_STATUS_MIME_DEF;
+    if (!strcmp(mime, JK_STATUS_MIME_TEXT_HTML))
+        return JK_STATUS_MIME_HTML;
+    else if (!strcmp(mime, JK_STATUS_MIME_TEXT_XML))
+        return JK_STATUS_MIME_XML;
+    else if (!strcmp(mime, JK_STATUS_MIME_TEXT_TXT))
+        return JK_STATUS_MIME_TXT;
+    else if (!strcmp(mime, JK_STATUS_MIME_TEXT_PROP))
+        return JK_STATUS_MIME_PROP;
+    return JK_STATUS_MIME_UNKNOWN;
+}
+
+static void status_start_form(jk_ws_service_t *s,
+                              status_endpoint_t *p,
+                              const char *method,
+                              int cmd,
+                              jk_logger_t *l)
+{
+
+    int i;
+    int sz;
+    jk_map_t *m = p->req_params;
+
+    if (method)
+        jk_printf(s, JK_STATUS_FORM_START, method, s->req_uri);
     else
-        s->write(s, "(null)", 6);
+        return;
+    if (cmd != JK_STATUS_CMD_UNKNOWN) {
+        jk_printf(s, JK_STATUS_FORM_HIDDEN_STRING,
+                  JK_STATUS_ARG_CMD, status_cmd_text(cmd));
+    }
+
+    sz = jk_map_size(m);
+    for (i = 0; i < sz; i++) {
+        const char *k = jk_map_name_at(m, i);
+        const char *v = jk_map_value_at(m, i);
+        if (strcmp(k, JK_STATUS_ARG_CMD) || cmd == JK_STATUS_CMD_UNKNOWN) {
+            jk_printf(s, JK_STATUS_FORM_HIDDEN_STRING, k, v);
+        }
+    }
 }
 
-static void jk_putv(jk_ws_service_t *s, ...)
+static void status_write_uri(jk_ws_service_t *s,
+                             status_endpoint_t *p,
+                             const char *text,
+                             int cmd, int mime,
+                             const char *worker, const char *sub_worker,
+                             unsigned int add_options, unsigned int rm_options,
+                             const char *attribute,
+                             jk_logger_t *l)
 {
-    va_list va;
-    const char *str;
+    int i;
+    int sz;
+    int started = 0;
+    int from;
+    int prev;
+    unsigned int opt = 0;
+    const char *arg;
+    jk_map_t *m = p->req_params;
 
-    va_start(va, s);
-    while (1) {
-        str = va_arg(va, const char *);
-        if (str == NULL)
-            break;
-        s->write(s, str, (unsigned int)strlen(str));
+    if (text)
+        jk_puts(s, "<a href=\"");
+    jk_puts(s, s->req_uri);
+    status_get_string(p, JK_STATUS_ARG_FROM, NULL, &arg, l);
+    from = status_cmd_int(arg);
+    status_get_string(p, JK_STATUS_ARG_CMD, NULL, &arg, l);
+    prev = status_cmd_int(arg);
+    if (cmd == JK_STATUS_CMD_UNKNOWN) {
+        if (prev == JK_STATUS_CMD_UPDATE ||
+            prev == JK_STATUS_CMD_RESET ||
+            prev == JK_STATUS_CMD_RECOVER) {
+            cmd = from;
+        }
     }
-    va_end(va);
+    if (cmd != JK_STATUS_CMD_UNKNOWN) {
+        jk_printf(s, "%s%s=%s", started ? "&amp;" : "?",
+                  JK_STATUS_ARG_CMD, status_cmd_text(cmd));
+        if (cmd == JK_STATUS_CMD_EDIT ||
+            cmd == JK_STATUS_CMD_RESET ||
+            cmd == JK_STATUS_CMD_RECOVER) {
+            jk_printf(s, "%s%s=%s", "&amp;",
+                      JK_STATUS_ARG_FROM, status_cmd_text(prev));
+        }
+        started=1;
+    }
+    if (mime != JK_STATUS_MIME_UNKNOWN) {
+        jk_printf(s, "%s%s=%s", started ? "&amp;" : "?",
+                  JK_STATUS_ARG_MIME, status_mime_text(mime));
+        started=1;
+    }
+    if (worker && worker[0]) {
+        jk_printf(s, "%s%s=%s", started ? "&amp;" : "?",
+                  JK_STATUS_ARG_WORKER, worker);
+        started=1;
+    }
+    if (sub_worker && sub_worker[0]) {
+        jk_printf(s, "%s%s=%s", started ? "&amp;" : "?",
+                  JK_STATUS_ARG_SUB_WORKER, sub_worker);
+        started=1;
+    }
+    if (attribute && attribute[0]) {
+        jk_printf(s, "%s%s=%s", started ? "&amp;" : "?",
+                  JK_STATUS_ARG_ATTRIBUTE, attribute);
+        started=1;
+    }
+
+    sz = jk_map_size(m);
+    for (i = 0; i < sz; i++) {
+        const char *k = jk_map_name_at(m, i);
+        const char *v = jk_map_value_at(m, i);
+        if (!strcmp(k, JK_STATUS_ARG_CMD) && cmd != JK_STATUS_CMD_UNKNOWN) {
+            continue;
+        }
+        if (!strcmp(k, JK_STATUS_ARG_MIME) && mime != JK_STATUS_MIME_UNKNOWN) {
+            continue;
+        }
+        if (!strcmp(k, JK_STATUS_ARG_FROM)) {
+            continue;
+        }
+        if (!strcmp(k, JK_STATUS_ARG_WORKER) && worker) {
+            continue;
+        }
+        if (!strcmp(k, JK_STATUS_ARG_SUB_WORKER) && sub_worker) {
+            continue;
+        }
+        if (!strcmp(k, JK_STATUS_ARG_ATTRIBUTE) && attribute) {
+            continue;
+        }
+        if (!strcmp(k, JK_STATUS_ARG_ATTRIBUTE) && cmd != JK_STATUS_CMD_UPDATE && cmd != JK_STATUS_CMD_EDIT) {
+            continue;
+        }
+        if (!strncmp(k, JK_STATUS_ARG_MULT_VALUE_BASE, 3) && cmd != JK_STATUS_CMD_UPDATE) {
+            continue;
+        }
+        if (strlen(k) == 2 && (k[0] == 'l' || k[0] == 'w') && cmd != JK_STATUS_CMD_UPDATE) {
+            continue;
+        }
+        if (!strcmp(k, JK_STATUS_ARG_OPTIONS)) {
+            opt = atoi(v);
+            continue;
+        }
+        jk_printf(s, "%s%s=%s", started ? "&amp;" : "?", k, v);
+        started=1;
+    }
+    if (opt | add_options | rm_options)
+        jk_printf(s, "%s%s=%u", started ? "&amp;" : "?",
+                  JK_STATUS_ARG_OPTIONS, (opt | add_options) & ~rm_options);
+    if (text)
+        jk_putv(s, "\">", text, "</a>", NULL);
 }
 
-static const char *status_cmd(const char *param, const char *req, char *buf, size_t len)
+static int status_parse_uri(jk_ws_service_t *s,
+                            status_endpoint_t *p,
+                            jk_logger_t *l)
 {
-    char ps[32];
-    char *p;
-    size_t l = 0;
+    jk_map_t *m;
+    status_worker_t *w = p->worker;
+#if defined(AS400) || defined(_REENTRANT)
+    char *lasts;
+#endif
+    char *param;
+    char *query;
 
-    *buf = '\0';
-    if (!req)
-        return NULL;
-    if (!param)
-        return NULL;
-    sprintf(ps, "&%s=", param);
-    p = strstr(req, ps);
-    if (!p) {
-        sprintf(ps, "%s=", param);
-        if (!strncmp(req, ps, strlen(ps)))
-            p = (char *)req;
+    JK_TRACE_ENTER(l);
+
+    if (!jk_map_alloc(&(p->req_params))) {
+        jk_log(l, JK_LOG_ERROR,
+               "Status worker '%s' could not alloc map for request parameters",
+               w->name);
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
     }
-    if (p) {
-        p += strlen(ps);
-        while (*p) {
-            if (*p != '&')
-                buf[l++] = *p;
-            else
-                break;
-            if (l + 2 > len)
-                break;
-            p++;
+    if (!s->query_string) {
+        if (JK_IS_DEBUG_LEVEL(l))
+            jk_log(l, JK_LOG_DEBUG,
+                   "Status worker '%s' query string is empty",
+                   w->name);
+        JK_TRACE_EXIT(l);
+        return JK_TRUE;
+    }
+    m = p->req_params;
+    query = jk_pool_strdup(s->pool, s->query_string);
+    if (!query) {
+        jk_log(l, JK_LOG_ERROR,
+               "Status worker '%s' could not copy string",
+               w->name);
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
+    }
+#if defined(AS400) || defined(_REENTRANT)
+    for (param = strtok_r(query, "&", &lasts);
+         param; param = strtok_r(NULL, "&", &lasts)) {
+#else
+    for (param = strtok(query, "&"); param; param = strtok(NULL, "&")) {
+#endif
+        char *key = jk_pool_strdup(s->pool, param);
+        char *value;
+        if (!key) {
+            jk_log(l, JK_LOG_ERROR,
+                   "Status worker '%s' could not copy string",
+                   w->name);
+            JK_TRACE_EXIT(l);
+            return JK_FALSE;
         }
-        buf[l] = '\0';
-        if (l)
-            return buf;
-        else
-            return NULL;
+        value = strchr(key, '=');
+        if (value) {
+            char *off;
+            *value = '\0';
+            value++;
+    /* XXX Depending on the params values, we might need to trim and decode */
+    /* XXX For now we simply mask special chars with '@' to prevent cross code injection */
+            off = value;
+            while ((off = strpbrk(off, JK_STATUS_ESC_CHARS)))
+                off[0] = '@';
+            if (strlen(key)) {
+                if (JK_IS_DEBUG_LEVEL(l))
+                    jk_log(l, JK_LOG_DEBUG,
+                           "Status worker '%s' adding request param '%s' with value '%s'",
+                           w->name, key, value);
+                jk_map_put(m, key, value, NULL);
+            }
+        }
     }
-    else
-        return NULL;
+
+    JK_TRACE_EXIT(l);
+    return JK_TRUE;
 }
 
-static int status_int(const char *param, const char *req, int def)
+static int fetch_worker_and_sub_worker(status_endpoint_t *p,
+                                       const char *operation,
+                                       const char **worker,
+                                       const char **sub_worker,
+                                       jk_logger_t *l)
 {
-    const char *v;
-    char buf[32];
-    int rv = def;
+    status_worker_t *w = p->worker;
 
-    if ((v = status_cmd(param, req, buf, sizeof(buf) -1))) {
-        rv = atoi(v);
+    JK_TRACE_ENTER(l);
+    status_get_string(p, JK_STATUS_ARG_WORKER, NULL, worker, l);
+    status_get_string(p, JK_STATUS_ARG_SUB_WORKER, NULL, sub_worker, l);
+    if (JK_IS_DEBUG_LEVEL(l))
+        jk_log(l, JK_LOG_DEBUG,
+               "Status worker '%s' %s worker '%s' sub worker '%s'",
+               w->name, operation,
+               *worker ? *worker : "(null)", *sub_worker ? *sub_worker : "(null)");
+    JK_TRACE_EXIT(l);
+    return JK_TRUE;
+}
+
+static int check_valid_lb(jk_ws_service_t *s,
+                          status_endpoint_t *p,
+                          jk_worker_t *jw,
+                          const char *worker,
+                          lb_worker_t **lbp,
+                          int implemented,
+                          jk_logger_t *l)
+{
+    status_worker_t *w = p->worker;
+
+    JK_TRACE_ENTER(l);
+    if (jw->type != JK_LB_WORKER_TYPE) {
+        if (implemented) {
+            jk_log(l, JK_LOG_WARNING,
+                   "Status worker '%s' worker type of worker '%s' has no sub workers",
+                   w->name, worker);
+            p->msg = "worker type has no sub workers";
+        }
+        else {
+            jk_log(l, JK_LOG_WARNING,
+                   "Status worker '%s' worker type of worker '%s' not implemented",
+                   w->name, worker);
+                   p->msg = "worker type not implemented";
+        }
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
     }
-    return rv;
+    *lbp = (lb_worker_t *)jw->worker_private;
+    if (!*lbp) {
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' lb structure of worker '%s' is (null)",
+               w->name, worker);
+        p->msg = "lb structure is (null)";
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
+    }
+    p->msg = "OK";
+    JK_TRACE_EXIT(l);
+    return JK_TRUE;
 }
 
-static int status_bool(const char *param, const char *req)
+static int search_worker(jk_ws_service_t *s,
+                         status_endpoint_t *p,
+                         jk_worker_t **jwp,
+                         const char *worker,
+                         jk_logger_t *l)
 {
-    const char *v;
-    char buf[32];
-    int rv = 0;
+    status_worker_t *w = p->worker;
 
-    if ((v = status_cmd(param, req, buf, sizeof(buf)))) {
-        if (strcasecmp(v, "on") == 0 ||
-            strcasecmp(v, "true") == 0)
-            rv = 1;
+    JK_TRACE_ENTER(l);
+    *jwp = NULL;
+    if (JK_IS_DEBUG_LEVEL(l))
+        jk_log(l, JK_LOG_DEBUG,
+               "Status worker '%s' searching worker '%s'",
+               w->name, worker ? worker : "(null)");
+    if (!worker || !worker[0]) {
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' NULL or EMPTY worker param",
+               w->name);
+        p->msg = "NULL or EMPTY worker param";
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
     }
-    return rv;
+    *jwp = wc_get_worker_for_name(worker, l);
+    if (!*jwp) {
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' could not find worker '%s'",
+               w->name, worker);
+        p->msg = "Could not find given worker";
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
+    }
+    p->msg = "OK";
+    JK_TRACE_EXIT(l);
+    return JK_TRUE;
 }
 
-static void display_maps(jk_ws_service_t *s, status_worker_t *sw,
-                         jk_uri_worker_map_t *uwmap,
-                         const char *worker, jk_logger_t *l)
+static int search_sub_worker(jk_ws_service_t *s,
+                             status_endpoint_t *p,
+                             jk_worker_t *jw,
+                             const char *worker,
+                             worker_record_t **wrp,
+                             const char *sub_worker,
+                             jk_logger_t *l)
 {
+    lb_worker_t *lb = NULL;
+    worker_record_t *wr = NULL;
+    status_worker_t *w = p->worker;
     unsigned int i;
 
-    jk_puts(s, "<br/>Uri Mappings:\n");
-    jk_puts(s, "<table>\n<tr><th>Match Type</th><th>Uri</th>"
-               "<th>Context</th></tr>\n");
-    for (i = 0; i < uwmap->size; i++) {
-        uri_worker_record_t *uwr = uwmap->maps[i];
+    JK_TRACE_ENTER(l);
+    if (JK_IS_DEBUG_LEVEL(l))
+        jk_log(l, JK_LOG_DEBUG,
+               "Status worker '%s' searching sub worker '%s' of worker '%s'",
+               w->name, sub_worker ? sub_worker : "(null)",
+               worker ? worker : "(null)");
+    if (!sub_worker || !sub_worker[0]) {
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' NULL or EMPTY sub_worker param",
+               w->name);
+        p->msg = "NULL or EMPTY sub_worker param";
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
+    }
+    if (check_valid_lb(s, p, jw, worker, &lb, 1, l) == JK_FALSE) {
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
+    }
+    for (i = 0; i < (int)lb->num_of_workers; i++) {
+        wr = &(lb->lb_workers[i]);
+        if (strcmp(sub_worker, wr->s->name) == 0)
+            break;
+    }
+    *wrp = wr;
+    if (!wr || i == (int)lb->num_of_workers) {
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' could not find sub worker '%s' of worker '%s'",
+               w->name, sub_worker, worker ? worker : "(null)");
+        p->msg = "could not find sub worker";
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
+    }
+    p->msg = "OK";
+    JK_TRACE_EXIT(l);
+    return JK_TRUE;
+}
+
+static int count_maps(jk_ws_service_t *s,
+                      const char *worker,
+                      jk_logger_t *l)
+{
+    unsigned int i;
+    int count=0;
+    jk_uri_worker_map_t *uw_map = s->uw_map;
+
+    JK_TRACE_ENTER(l);
+    for (i = 0; i < uw_map->size; i++) {
+        uri_worker_record_t *uwr = uw_map->maps[i];
         if (strcmp(uwr->worker_name, worker)) {
             continue;
         }
-        jk_putv(s, "<tr><td>",
-                status_val_match(uwr->match_type),
-                "</td><td>", NULL);
-        jk_puts(s, uwr->uri);
-        jk_putv(s, "</td><td>", uwr->context, NULL);
-
-        jk_puts(s, "</td></tr>\n");
+        count++;
     }
-    jk_puts(s, "</table>\n");
+    JK_TRACE_EXIT(l);
+    return count;
 }
 
-static void dump_maps(jk_ws_service_t *s, status_worker_t *sw,
-                      jk_uri_worker_map_t *uwmap,
-                      const char *worker, jk_logger_t *l)
+static void display_maps(jk_ws_service_t *s,
+                         status_endpoint_t *p,
+                         const char *worker,
+                         jk_logger_t *l)
 {
+    char buf[64];
     unsigned int i;
+    int mime;
+    unsigned int hide;
+    int count=0;
+    const char *arg;
+    status_worker_t *w = p->worker;
+    jk_uri_worker_map_t *uw_map = s->uw_map;
 
-    for (i = 0; i < uwmap->size; i++) {
-        uri_worker_record_t *uwr = uwmap->maps[i];
+    JK_TRACE_ENTER(l);
+    status_get_string(p, JK_STATUS_ARG_MIME, NULL, &arg, l);
+    mime = status_mime_int(arg);
+    hide = status_get_int(p, JK_STATUS_ARG_OPTIONS, 0, l) &
+                          JK_STATUS_ARG_OPTION_NO_MAPS;
+    count = count_maps(s, worker, l);
+
+    if (count) {
+
+        if (hide) {
+            if (mime == JK_STATUS_MIME_HTML) {
+                jk_puts(s, "<p>\n");
+                status_write_uri(s, p, "Show URI Mappings", JK_STATUS_CMD_UNKNOWN, JK_STATUS_MIME_UNKNOWN,
+                                 NULL, NULL, 0, JK_STATUS_ARG_OPTION_NO_MAPS, NULL, l);
+                jk_puts(s, "</p>\n");
+            }
+        }
+        else {
+            if (mime == JK_STATUS_MIME_HTML) {
+                jk_printf(s, "<hr/><h3>URI Mappings for %s (%d maps) [", worker, count);
+                status_write_uri(s, p, "Hide", JK_STATUS_CMD_UNKNOWN, JK_STATUS_MIME_UNKNOWN,
+                                 NULL, NULL, JK_STATUS_ARG_OPTION_NO_MAPS, 0, NULL, l);
+                jk_puts(s, "]</h3><table>\n");
+                jk_printf(s, JK_STATUS_TABLE_HEAD_3_STRING,
+                          "Match Type", "Uri", "Source");
+            }
+        }
+    }
+
+    if (hide) {
+        return;
+        JK_TRACE_EXIT(l);
+    }
+
+    count = 0;
+    for (i = 0; i < uw_map->size; i++) {
+        uri_worker_record_t *uwr = uw_map->maps[i];
         if (strcmp(uwr->worker_name, worker)) {
             continue;
         }
-        jk_printf(s, "    <jk:map type=\"%s\" uri=\"%s\" context=\"%s\" />\n",
-              status_val_match(uwr->match_type),
-              uwr->uri,
-              uwr->context) ;
+        count++;
+
+        if (mime == JK_STATUS_MIME_HTML) {
+            jk_printf(s, JK_STATUS_TABLE_ROW_3_STRING,
+                      uri_worker_map_get_match(uwr, buf, l), uwr->uri,
+                      uri_worker_map_get_source(uwr, l));
+        }
+        else if (mime == JK_STATUS_MIME_XML) {
+            jk_print_xml_start_elt(s, w, 6, 0, "map");
+            jk_print_xml_att_int(s, 8, "id", count);
+            jk_print_xml_att_string(s, 8, "type", uri_worker_map_get_match(uwr, buf, l));
+            jk_print_xml_att_string(s, 8, "uri", uwr->uri);
+            jk_print_xml_att_string(s, 8, "source", uri_worker_map_get_source(uwr, l));
+            jk_print_xml_stop_elt(s, 6, 1);
+        }
+        else if (mime == JK_STATUS_MIME_TXT) {
+            jk_puts(s, "Map:");
+            jk_printf(s, " id=%d", count);
+            jk_printf(s, " type=\"%s\"", uri_worker_map_get_match(uwr, buf, l));
+            jk_printf(s, " uri=\"%s\"", uwr->uri);
+            jk_printf(s, " source=\"%s\"", uri_worker_map_get_source(uwr, l));
+            jk_puts(s, "\n");
+        }
+        else if (mime == JK_STATUS_MIME_PROP) {
+            char *mount = jk_pool_alloc(s->pool, sizeof(char *) * (strlen(uwr->uri)+3));
+            char *off = mount;
+            if (uwr->match_type & MATCH_TYPE_DISABLED) {
+                *off = '-';
+                off++;
+            }
+            if (uwr->match_type & MATCH_TYPE_NO_MATCH) {
+                *off = '!';
+                off++;
+            }
+            strcpy(off, uwr->uri);
+            jk_print_prop_att_string(s, w, worker, "mount", mount);
+            jk_print_prop_item_string(s, w, worker, "map", count, "type", uri_worker_map_get_match(uwr, buf, l));
+            jk_print_prop_item_string(s, w, worker, "map", count, "uri", uwr->uri);
+            jk_print_prop_item_string(s, w, worker, "map", count, "source", uri_worker_map_get_source(uwr, l));
+        }
     }
+    if (count) {
+        if (mime == JK_STATUS_MIME_HTML) {
+            jk_puts(s, "</table>\n");
+        }
+    }
+    else {
+        if (mime == JK_STATUS_MIME_HTML) {
+            jk_putv(s, "<hr/><h3>Warning: No URI Mappings defined for ",
+                    worker, " !</h3>\n", NULL);
+        }
+    }
+    if (JK_IS_DEBUG_LEVEL(l))
+        jk_log(l, JK_LOG_DEBUG,
+               "Status worker '%s' displayed %d maps for worker '%s'",
+               w->name, count, worker);
+    JK_TRACE_EXIT(l);
 }
 
-
-/**
- * Command line reference:
- * cmd=list (default) display configuration
- * cmd=show display detailed configuration
- * cmd=update update configuration
- * cmd=add  add new uri map.
- * w=worker display detailed configuration for worker
- *
- * Worker parameters:
- * r=string redirect route name
- *
- */
-
-
-static void display_workers(jk_ws_service_t *s, status_worker_t *sw,
-                            const char *dworker, jk_logger_t *l)
+static void display_worker_lb(jk_ws_service_t *s,
+                              status_endpoint_t *p,
+                              lb_worker_t *lb,
+                              jk_logger_t *l)
 {
-    unsigned int i;
     char buf[32];
+    char buf_rd[32];
+    char buf_wr[32];
+    int cmd;
+    int mime;
+    int read_only = 0;
+    int single = 0;
+    unsigned int hide_members;
+    const char *arg;
     time_t now = time(NULL);
+    unsigned int good = 0;
+    unsigned int degraded = 0;
+    unsigned int bad = 0;
+    int map_count;
+    int ms_min;
+    int ms_max;
+    unsigned int j;
+    const char *name = lb->s->name;
+    status_worker_t *w = p->worker;
 
-    for (i = 0; i < sw->we->num_of_workers; i++) {
-        jk_worker_t *w = wc_get_worker_for_name(sw->we->worker_list[i], l);
-        ajp_worker_t *aw = NULL;
-        lb_worker_t *lb = NULL;
-        if (w == NULL)
-            continue;
-        if (w->type == JK_LB_WORKER_TYPE) {
-            lb = (lb_worker_t *)w->worker_private;
+    JK_TRACE_ENTER(l);
+    status_get_string(p, JK_STATUS_ARG_CMD, NULL, &arg, l);
+    cmd = status_cmd_int(arg);
+    status_get_string(p, JK_STATUS_ARG_MIME, NULL, &arg, l);
+    mime = status_mime_int(arg);
+    hide_members = status_get_int(p, JK_STATUS_ARG_OPTIONS, 0, l) &
+                                JK_STATUS_ARG_OPTION_NO_MEMBERS;
+    if (w->read_only) {
+        read_only = 1;
+    }
+    else {
+        read_only = status_get_int(p, JK_STATUS_ARG_OPTIONS, 0, l) &
+                    JK_STATUS_ARG_OPTION_READ_ONLY;
+    }
+    if (cmd == JK_STATUS_CMD_SHOW) {
+        single = 1;
+    }
+
+    jk_shm_lock();
+    if (lb->sequence != lb->s->sequence)
+        jk_lb_pull(lb, l);
+    jk_shm_unlock();
+
+    for (j = 0; j < lb->num_of_workers; j++) {
+        worker_record_t *wr = &(lb->lb_workers[j]);
+        int rate;
+        rate = status_rate(wr, w, l);
+        if (rate > 0 )
+           good++;
+        else if (rate < 0 )
+           bad++;
+        else
+           degraded++;
+    }
+
+    map_count = count_maps(s, name, l);
+    ms_min = lb->maintain_time - (int)difftime(now, lb->s->last_maintain_time);
+    ms_max = ms_min + lb->maintain_time;
+    ms_min -= JK_LB_MAINTAIN_TOLERANCE;
+    if (ms_min < 0) {
+        ms_min = 0;
+    }
+    if (ms_max < 0) {
+        ms_max = 0;
+    }
+
+    if (mime == JK_STATUS_MIME_HTML) {
+
+        jk_puts(s, "<hr/><h3>[");
+        if (single) {
+            jk_puts(s, "S");
         }
-        else if (w->type == JK_AJP13_WORKER_TYPE ||
-                 w->type == JK_AJP14_WORKER_TYPE) {
-            aw = (ajp_worker_t *)w->worker_private;
-        }
         else {
-            /* Skip status, jni and ajp12 worker */
-            continue;
+            status_write_uri(s, p, "S", JK_STATUS_CMD_SHOW, JK_STATUS_MIME_UNKNOWN,
+                             name, "", 0, 0, "", l);
         }
-        jk_puts(s, "<hr/>\n<h3>Worker Status for ");
-        if (dworker && strcmp(dworker, sw->we->worker_list[i]) == 0) {
-            /* Next click will colapse the editor */
-            jk_putv(s, "<a href=\"", s->req_uri, "?cmd=show\">", NULL);
+        if (!read_only) {
+            jk_puts(s, "|");
+            status_write_uri(s, p, "E", JK_STATUS_CMD_EDIT, JK_STATUS_MIME_UNKNOWN,
+                             name, "", 0, 0, "", l);
+            jk_puts(s, "|");
+            status_write_uri(s, p, "R", JK_STATUS_CMD_RESET, JK_STATUS_MIME_UNKNOWN,
+                             name, "", 0, 0, "", l);
         }
-        else
-            jk_putv(s, "<a href=\"", s->req_uri, "?cmd=show&w=",
-                    sw->we->worker_list[i], "\">", NULL);
-        jk_putv(s, sw->we->worker_list[i], "</a></h3>\n", NULL);
-        if (lb != NULL) {
-            unsigned int j;
-            int selected = -1;
-            jk_puts(s, "<table><tr>"
-                    "<th>Type</th><th>Sticky session</th>"
-                    "<th>Force Sticky session</th>"
-                    "<th>Retries</th>"
-                    "<th>Method</th>"
-                    "<th>Lock</th>"
-                    "<th>Recovery timeout</th>"
-                    "</tr>\n<tr>");
-            jk_putv(s, "<td>", status_worker_type(w->type), "</td>", NULL);
-            jk_putv(s, "<td>", status_val_bool(lb->s->sticky_session),
-                    "</td>", NULL);
-            jk_putv(s, "<td>", status_val_bool(lb->s->sticky_session_force),
-                    "</td>", NULL);
-            jk_printf(s, "<td>%d</td>", lb->s->retries);
-            jk_printf(s, "<td>%s</td>", jk_lb_get_method(lb, l));
-            jk_printf(s, "<td>%s</td>", jk_lb_get_lock(lb, l));
-            jk_printf(s, "<td>%d</td>", lb->s->recover_wait_time);
-            jk_puts(s, "</tr>\n</table>\n<br/>\n");
-            jk_puts(s, "<table><tr>"
-                    "<th>Name</th><th>Type</th><th>jvmRoute</th><th>Host</th><th>Addr</th>"
-                    "<th>Act</th><th>Stat</th><th>D</th><th>F</th><th>M</th><th>V</th><th>Acc</th><th>Err</th><th>CE</th>"
-                    "<th>Wr</th><th>Rd</th><th>Busy</th><th>Max</th><th>RR</th><th>Cd</th><th>Rs</th></tr>\n");
-            for (j = 0; j < lb->num_of_workers; j++) {
-                worker_record_t *wr = &(lb->lb_workers[j]);
-                ajp_worker_t *a = (ajp_worker_t *)wr->w->worker_private;
-                jk_putv(s, "<tr>\n<td><a href=\"", s->req_uri,
-                        "?cmd=show&w=",
-                        wr->s->name, "\">",
-                        wr->s->name, "</a></td>", NULL);
-                if (dworker && strcmp(dworker, wr->s->name) == 0)
-                    selected = j;
-                jk_putv(s, "<td>", status_worker_type(wr->w->type), "</td>", NULL);
-                jk_putv(s, "<td>", wr->s->jvm_route, "</td>", NULL);
-                jk_printf(s, "<td>%s:%d</td>", a->host, a->port);
-                jk_putv(s, "<td>", jk_dump_hinfo(&a->worker_inet_addr, buf),
-                        "</td>", NULL);
-                /* TODO: descriptive status */
-                jk_putv(s, "<td>", jk_lb_get_activation(wr, l), "</td>", NULL);
-                jk_putv(s, "<td>", jk_lb_get_state(wr, l), "</td>", NULL);
-                jk_printf(s, "<td>%d</td>", wr->s->distance);
-                jk_printf(s, "<td>%d</td>", wr->s->lb_factor);
-                jk_printf(s, "<td>%" JK_UINT64_T_FMT "</td>", wr->s->lb_mult);
-                jk_printf(s, "<td>%" JK_UINT64_T_FMT "</td>", wr->s->lb_value);
-                jk_printf(s, "<td>%" JK_UINT64_T_FMT "</td>", wr->s->elected);
-                jk_printf(s, "<td>%" JK_UINT32_T_FMT "</td>", wr->s->errors);
-                jk_printf(s, "<td>%" JK_UINT32_T_FMT "</td>", wr->s->client_errors);
-                jk_putv(s, "<td>", status_strfsize(wr->s->transferred, buf),
-                        "</td>", NULL);
-                jk_putv(s, "<td>", status_strfsize(wr->s->readed, buf),
-                        "</td>", NULL);
-                jk_printf(s, "<td>%u</td>", wr->s->busy);
-                jk_printf(s, "<td>%u</td>\n<td>", wr->s->max_busy);
-                if (wr->s->redirect && *wr->s->redirect)
-                    jk_puts(s, wr->s->redirect);
-                else
-                    jk_puts(s,"&nbsp;");
-                jk_puts(s, "</td>\n<td>");
-                if (wr->s->domain && *wr->s->domain)
-                    jk_puts(s, wr->s->domain);
-                else
-                    jk_puts(s,"&nbsp;");
-                jk_puts(s, "</td>\n<td>");
-                if (wr->s->state == JK_LB_STATE_ERROR) {
-                    int rs = lb->maintain_time - (int)difftime(now, lb->s->last_maintain_time);
-                    if (rs < lb->s->recover_wait_time - (int)difftime(now, wr->s->error_time))
-                        rs += lb->maintain_time;
-                    jk_printf(s, "%u", rs < 0 ? 0 : rs);
+        jk_puts(s, "]&nbsp;&nbsp;");
+        jk_putv(s, "Worker Status for ", name, "</h3>\n", NULL);
+        jk_puts(s, "<table>" JK_STATUS_SHOW_LB_HEAD);
+        jk_printf(s, JK_STATUS_SHOW_LB_ROW,
+                  status_worker_type(JK_LB_WORKER_TYPE),
+                  jk_get_bool(lb->sticky_session),
+                  jk_get_bool(lb->sticky_session_force),
+                  lb->retries,
+                  jk_lb_get_method(lb, l),
+                  jk_lb_get_lock(lb, l),
+                  lb->recover_wait_time);
+        jk_puts(s, "</table>\n<br/>\n");
+
+        jk_puts(s, "<table><tr>"
+                "<th>Good</th><th>Degraded</th><th>Bad/Stopped</th><th>Busy</th><th>Max Busy</th><th>Next Maintenance</th>"
+                "</tr>\n<tr>");
+        jk_printf(s, "<td>%d</td>", good);
+        jk_printf(s, "<td>%d</td>", degraded);
+        jk_printf(s, "<td>%d</td>", bad);
+        jk_printf(s, "<td>%d</td>", lb->s->busy);
+        jk_printf(s, "<td>%d</td>", lb->s->max_busy);
+        jk_printf(s, "<td>%d/%d</td>", ms_min, ms_max);
+        jk_puts(s, "</tr>\n</table>\n\n");
+
+    }
+    else if (mime == JK_STATUS_MIME_XML) {
+
+        jk_print_xml_start_elt(s, w, 2, 0, "balancer");
+        jk_print_xml_att_string(s, 4, "name", name);
+        jk_print_xml_att_string(s, 4, "type", status_worker_type(JK_LB_WORKER_TYPE));
+        jk_print_xml_att_string(s, 4, "sticky_session", jk_get_bool(lb->sticky_session));
+        jk_print_xml_att_string(s, 4, "sticky_session_force", jk_get_bool(lb->sticky_session_force));
+        jk_print_xml_att_int(s, 4, "retries", lb->retries);
+        jk_print_xml_att_int(s, 4, "recover_time", lb->recover_wait_time);
+        jk_print_xml_att_string(s, 4, "method", jk_lb_get_method(lb, l));
+        jk_print_xml_att_string(s, 4, "lock", jk_lb_get_lock(lb, l));
+        jk_print_xml_att_int(s, 4, "member_count", lb->num_of_workers);
+        jk_print_xml_att_int(s, 4, "good", good);
+        jk_print_xml_att_int(s, 4, "degraded", degraded);
+        jk_print_xml_att_int(s, 4, "bad", bad);
+        jk_print_xml_att_int(s, 4, "busy", lb->s->busy);
+        jk_print_xml_att_int(s, 4, "max_busy", lb->s->max_busy);
+        jk_print_xml_att_int(s, 4, "map_count", map_count);
+        jk_print_xml_att_int(s, 4, "time_to_maintenance_min", ms_min);
+        jk_print_xml_att_int(s, 4, "time_to_maintenance_max", ms_max);
+        jk_print_xml_stop_elt(s, 2, 0);
+
+    }
+    else if (mime == JK_STATUS_MIME_TXT) {
+
+        jk_puts(s, "Balancer Worker:");
+        jk_printf(s, " name=%s", name);
+        jk_printf(s, " type=%s", status_worker_type(JK_LB_WORKER_TYPE));
+        jk_printf(s, " sticky_session=%s", jk_get_bool(lb->sticky_session));
+        jk_printf(s, " sticky_session_force=%s", jk_get_bool(lb->sticky_session_force));
+        jk_printf(s, " retries=%d", lb->retries);
+        jk_printf(s, " recover_time=%d", lb->recover_wait_time);
+        jk_printf(s, " method=%s", jk_lb_get_method(lb, l));
+        jk_printf(s, " lock=%s", jk_lb_get_lock(lb, l));
+        jk_printf(s, " member_count=%d", lb->num_of_workers);
+        jk_printf(s, " good=%d", good);
+        jk_printf(s, " degraded=%d", degraded);
+        jk_printf(s, " bad=%d", bad);
+        jk_printf(s, " busy=%d", lb->s->busy);
+        jk_printf(s, " max_busy=%d", lb->s->max_busy);
+        jk_printf(s, " map_count=%d", map_count);
+        jk_printf(s, " time_to_maintenance_min=%d", ms_min);
+        jk_printf(s, " time_to_maintenance_max=%d", ms_max);
+        jk_puts(s, "\n");
+
+    }
+    else if (mime == JK_STATUS_MIME_PROP) {
+
+        jk_print_prop_att_string(s, w, NULL, "list", name);
+        jk_print_prop_att_string(s, w, name, "type", status_worker_type(JK_LB_WORKER_TYPE));
+        jk_print_prop_att_string(s, w, name, "sticky_session", jk_get_bool(lb->sticky_session));
+        jk_print_prop_att_string(s, w, name, "sticky_session_force", jk_get_bool(lb->sticky_session_force));
+        jk_print_prop_att_int(s, w, name, "retries", lb->retries);
+        jk_print_prop_att_int(s, w, name, "recover_time", lb->recover_wait_time);
+        jk_print_prop_att_string(s, w, name, "method", jk_lb_get_method(lb, l));
+        jk_print_prop_att_string(s, w, name, "lock", jk_lb_get_lock(lb, l));
+        jk_print_prop_att_int(s, w, name, "member_count", lb->num_of_workers);
+        jk_print_prop_att_int(s, w, name, "good", good);
+        jk_print_prop_att_int(s, w, name, "degraded", degraded);
+        jk_print_prop_att_int(s, w, name, "bad", bad);
+        jk_print_prop_att_int(s, w, name, "busy", lb->s->busy);
+        jk_print_prop_att_int(s, w, name, "max_busy", lb->s->max_busy);
+        jk_print_prop_att_int(s, w, name, "map_count", map_count);
+        jk_print_prop_att_int(s, w, name, "time_to_maintenance_min", ms_min);
+        jk_print_prop_att_int(s, w, name, "time_to_maintenance_max", ms_max);
+
+    }
+
+    if (!hide_members) {
+
+        if (mime == JK_STATUS_MIME_HTML) {
+
+            jk_puts(s, "<h4>Balancer Members [");
+            if (single) {
+                status_write_uri(s, p, "Hide", JK_STATUS_CMD_SHOW, JK_STATUS_MIME_UNKNOWN,
+                                 NULL, NULL, JK_STATUS_ARG_OPTION_NO_MEMBERS, 0, "", l);
+            }
+            else {
+                status_write_uri(s, p, "Hide", JK_STATUS_CMD_LIST, JK_STATUS_MIME_UNKNOWN,
+                                 NULL, NULL, JK_STATUS_ARG_OPTION_NO_MEMBERS, 0, "", l);
+            }
+            jk_puts(s, "]</h4>\n");
+            jk_puts(s, "<table>" JK_STATUS_SHOW_MEMBER_HEAD);
+
+        }
+
+        for (j = 0; j < lb->num_of_workers; j++) {
+            worker_record_t *wr = &(lb->lb_workers[j]);
+            ajp_worker_t *a = (ajp_worker_t *)wr->w->worker_private;
+            int rs_min = 0;
+            int rs_max = 0;
+            if (wr->s->state == JK_LB_STATE_ERROR) {
+                rs_min = lb->recover_wait_time - (int)difftime(now, wr->s->error_time);
+                if (rs_min < 0) {
+                    rs_min = 0;
                 }
-                else
-                    jk_puts(s, "-");
-                jk_puts(s, "</td>\n</tr>\n");
+                rs_max = rs_min + lb->maintain_time;
+                if (rs_min < ms_min) {
+                    rs_min = ms_min;
+                }
             }
+
+            if (mime == JK_STATUS_MIME_HTML) {
+
+                jk_puts(s, "<tr>\n<td>");
+                if (!read_only) {
+                    jk_puts(s, "[");
+                    status_write_uri(s, p, "E", JK_STATUS_CMD_EDIT, JK_STATUS_MIME_UNKNOWN,
+                                     name, wr->s->name, 0, 0, "", l);
+                    jk_puts(s, "|");
+                    status_write_uri(s, p, "R", JK_STATUS_CMD_RESET, JK_STATUS_MIME_UNKNOWN,
+                                     name, wr->s->name, 0, 0, "", l);
+                    if (wr->s->state == JK_LB_STATE_ERROR) {
+                        jk_puts(s, "|");
+                        status_write_uri(s, p, "T", JK_STATUS_CMD_RECOVER, JK_STATUS_MIME_UNKNOWN,
+                                         name, wr->s->name, 0, 0, "", l);
+                    }
+                    jk_puts(s, "]");
+                }
+                jk_puts(s, "&nbsp;</td>");
+                jk_printf(s, JK_STATUS_SHOW_MEMBER_ROW,
+                          wr->s->name,
+                          status_worker_type(wr->w->type),
+                          a->host, a->port,
+                          jk_dump_hinfo(&a->worker_inet_addr, buf),
+                          jk_lb_get_activation(wr, l),
+                          jk_lb_get_state(wr, l),
+                          wr->s->distance,
+                          wr->s->lb_factor,
+                          wr->s->lb_mult,
+                          wr->s->lb_value,
+                          wr->s->elected,
+                          wr->s->errors,
+                          wr->s->client_errors,
+                          status_strfsize(wr->s->transferred, buf_wr),
+                          status_strfsize(wr->s->readed, buf_rd),
+                          wr->s->busy,
+                          wr->s->max_busy,
+                          wr->s->route,
+                          wr->s->redirect ? (*wr->s->redirect ? wr->s->redirect : "&nbsp;") : "&nbsp",
+                          wr->s->domain ? (*wr->s->domain ? wr->s->domain : "&nbsp;") : "&nbsp",
+                          rs_min,
+                          rs_max);
+
+            }
+            else if (mime == JK_STATUS_MIME_XML) {
+
+                jk_print_xml_start_elt(s, w, 6, 0, "member");
+                jk_print_xml_att_string(s, 8, "name", wr->s->name);
+                jk_print_xml_att_string(s, 8, "type", status_worker_type(wr->w->type));
+                jk_print_xml_att_string(s, 8, "host", a->host);
+                jk_print_xml_att_int(s, 8, "port", a->port);
+                jk_print_xml_att_string(s, 8, "address", jk_dump_hinfo(&a->worker_inet_addr, buf));
+                jk_print_xml_att_string(s, 8, "activation", jk_lb_get_activation(wr, l));
+                jk_print_xml_att_int(s, 8, "lbfactor", wr->s->lb_factor);
+                jk_print_xml_att_string(s, 8, "route", wr->s->route);
+                jk_print_xml_att_string(s, 8, "redirect", wr->s->redirect);
+                jk_print_xml_att_string(s, 8, "domain", wr->s->domain);
+                jk_print_xml_att_int(s, 8, "distance", wr->s->distance);
+                jk_print_xml_att_string(s, 8, "state", jk_lb_get_state(wr, l));
+                jk_print_xml_att_uint64(s, 8, "lbmult", wr->s->lb_mult);
+                jk_print_xml_att_uint64(s, 8, "lbvalue", wr->s->lb_value);
+                jk_print_xml_att_uint64(s, 8, "elected", wr->s->elected);
+                jk_print_xml_att_uint32(s, 8, "errors", wr->s->errors);
+                jk_print_xml_att_uint32(s, 8, "client_errors", wr->s->client_errors);
+                jk_print_xml_att_uint64(s, 8, "transferred", wr->s->transferred);
+                jk_print_xml_att_uint64(s, 8, "read", wr->s->readed);
+                jk_print_xml_att_int(s, 8, "busy", wr->s->busy);
+                jk_print_xml_att_int(s, 8, "max_busy", wr->s->max_busy);
+                jk_print_xml_att_int(s, 8, "time_to_recover_min", rs_min);
+                jk_print_xml_att_int(s, 8, "time_to_recover_max", rs_max);
+                /* Terminate the tag */
+                jk_print_xml_stop_elt(s, 6, 1);
+
+            }
+            else if (mime == JK_STATUS_MIME_TXT) {
+
+                jk_puts(s, "Member:");
+                jk_printf(s, " name=%s", wr->s->name);
+                jk_printf(s, " type=%s", status_worker_type(wr->w->type));
+                jk_printf(s, " host=%s", a->host);
+                jk_printf(s, " port=%d", a->port);
+                jk_printf(s, " address=%s", jk_dump_hinfo(&a->worker_inet_addr, buf));
+                jk_printf(s, " activation=%s", jk_lb_get_activation(wr, l));
+                jk_printf(s, " lbfactor=%d", wr->s->lb_factor);
+                jk_printf(s, " route=\"%s\"", wr->s->route ? wr->s->route : "");
+                jk_printf(s, " redirect=\"%s\"", wr->s->redirect ? wr->s->redirect : "");
+                jk_printf(s, " domain=\"%s\"", wr->s->domain ? wr->s->domain : "");
+                jk_printf(s, " distance=%d", wr->s->distance);
+                jk_printf(s, " state=%s", jk_lb_get_state(wr, l));
+                jk_printf(s, " lbmult=%" JK_UINT64_T_FMT, wr->s->lb_mult);
+                jk_printf(s, " lbvalue=%" JK_UINT64_T_FMT, wr->s->lb_value);
+                jk_printf(s, " elected=%" JK_UINT64_T_FMT, wr->s->elected);
+                jk_printf(s, " errors=%" JK_UINT32_T_FMT, wr->s->errors);
+                jk_printf(s, " client_errors=%" JK_UINT32_T_FMT, wr->s->client_errors);
+                jk_printf(s, " transferred=%" JK_UINT64_T_FMT, wr->s->transferred);
+                jk_printf(s, " read=%" JK_UINT64_T_FMT, wr->s->readed);
+                jk_printf(s, " busy=%d", wr->s->busy);
+                jk_printf(s, " max_busy=%d", wr->s->max_busy);
+                jk_printf(s, " time_to_recover_min=%d", rs_min);
+                jk_printf(s, " time_to_recover_max=%d", rs_max);
+                jk_puts(s, "\n");
+
+            }
+            else if (mime == JK_STATUS_MIME_PROP) {
+
+                jk_print_prop_att_string(s, w, name, "balance_workers", wr->s->name);
+                jk_print_prop_att_string(s, w, wr->s->name, "type", status_worker_type(wr->w->type));
+                jk_print_prop_att_string(s, w, wr->s->name, "host", a->host);
+                jk_print_prop_att_int(s, w, wr->s->name, "port", a->port);
+                jk_print_prop_att_string(s, w, wr->s->name, "address", jk_dump_hinfo(&a->worker_inet_addr, buf));
+                jk_print_prop_att_string(s, w, wr->s->name, "activation", jk_lb_get_activation(wr, l));
+                jk_print_prop_att_int(s, w, wr->s->name, "lbfactor", wr->s->lb_factor);
+                jk_print_prop_att_string(s, w, wr->s->name, "route", wr->s->route);
+                jk_print_prop_att_string(s, w, wr->s->name, "redirect", wr->s->redirect);
+                jk_print_prop_att_string(s, w, wr->s->name, "domain", wr->s->domain);
+                jk_print_prop_att_int(s, w, wr->s->name, "distance", wr->s->distance);
+                jk_print_prop_att_string(s, w, wr->s->name, "state", jk_lb_get_state(wr, l));
+                jk_print_prop_att_uint64(s, w, wr->s->name, "lbmult", wr->s->lb_mult);
+                jk_print_prop_att_uint64(s, w, wr->s->name, "lbvalue", wr->s->lb_value);
+                jk_print_prop_att_uint64(s, w, wr->s->name, "elected", wr->s->elected);
+                jk_print_prop_att_uint32(s, w, wr->s->name, "errors", wr->s->errors);
+                jk_print_prop_att_uint32(s, w, wr->s->name, "client_errors", wr->s->client_errors);
+                jk_print_prop_att_uint64(s, w, wr->s->name, "transferred", wr->s->transferred);
+                jk_print_prop_att_uint64(s, w, wr->s->name, "read", wr->s->readed);
+                jk_print_prop_att_int(s, w, wr->s->name, "busy", wr->s->busy);
+                jk_print_prop_att_int(s, w, wr->s->name, "max_busy", wr->s->max_busy);
+                jk_print_prop_att_int(s, w, wr->s->name, "time_to_recover_min", rs_min);
+                jk_print_prop_att_int(s, w, wr->s->name, "time_to_recover_max", rs_max);
+
+            }
+        }
+
+        if (mime == JK_STATUS_MIME_HTML) {
+
             jk_puts(s, "</table><br/>\n");
-            if (selected >= 0) {
-                worker_record_t *wr = &(lb->lb_workers[selected]);
-                jk_putv(s, "<hr/><h3>Edit worker settings for ",
-                        wr->s->name, NULL);
-                jk_putv(s, "<form method=\"GET\" action=\"",
-                        s->req_uri, "\">\n", NULL);
-                jk_puts(s, "<input type=\"hidden\" name=\"cmd\" ");
-                jk_puts(s, "value=\"update\">\n");
-                jk_puts(s, "<input type=\"hidden\" name=\"w\" ");
-                jk_putv(s, "value=\"", wr->s->name, "\">\n", NULL);
-                jk_puts(s, "<input type=\"hidden\" name=\"id\" ");
-                jk_printf(s, "value=\"%u\">\n", selected);
-                jk_puts(s, "<input type=\"hidden\" name=\"lb\" ");
-                jk_printf(s, "value=\"%u\">\n", i);
+            if (!read_only) {
+                jk_puts(s, "<b>E</b>dit one attribute for all members: [");
+                status_write_uri(s, p, JK_STATUS_ARG_LBM_TEXT_ACTIVATION, JK_STATUS_CMD_EDIT, JK_STATUS_MIME_UNKNOWN,
+                                 name, "", 0, 0, JK_STATUS_ARG_LBM_ACTIVATION, l);
+                jk_puts(s, "\n|");
+                status_write_uri(s, p, JK_STATUS_ARG_LBM_TEXT_FACTOR, JK_STATUS_CMD_EDIT, JK_STATUS_MIME_UNKNOWN,
+                                 name, "", 0, 0, JK_STATUS_ARG_LBM_FACTOR, l);
+                jk_puts(s, "\n|");
+                status_write_uri(s, p, JK_STATUS_ARG_LBM_TEXT_ROUTE, JK_STATUS_CMD_EDIT, JK_STATUS_MIME_UNKNOWN,
+                                 name, "", 0, 0, JK_STATUS_ARG_LBM_ROUTE, l);
+                jk_puts(s, "\n|");
+                status_write_uri(s, p, JK_STATUS_ARG_LBM_TEXT_REDIRECT, JK_STATUS_CMD_EDIT, JK_STATUS_MIME_UNKNOWN,
+                                 name, "", 0, 0, JK_STATUS_ARG_LBM_REDIRECT, l);
+                jk_puts(s, "\n|");
+                status_write_uri(s, p, JK_STATUS_ARG_LBM_TEXT_DOMAIN, JK_STATUS_CMD_EDIT, JK_STATUS_MIME_UNKNOWN,
+                                 name, "", 0, 0, JK_STATUS_ARG_LBM_DOMAIN, l);
+                jk_puts(s, "\n|");
+                status_write_uri(s, p, JK_STATUS_ARG_LBM_TEXT_DISTANCE, JK_STATUS_CMD_EDIT, JK_STATUS_MIME_UNKNOWN,
+                                 name, "", 0, 0, JK_STATUS_ARG_LBM_DISTANCE, l);
+                jk_puts(s, "\n]<br/>\n");
+            }
 
-                jk_puts(s, "<table>\n<tr><td>Route:</td><td><input name=\"wn\" type=\"text\" ");
-                jk_printf(s, "value=\"%s\"/></td></tr>\n", wr->s->jvm_route);
+        }
 
-                jk_puts(s, "<tr><td>Distance:</td><td><input name=\"wx\" type=\"text\" ");
-                jk_printf(s, "value=\"%d\"/></td></tr>\n", wr->s->distance);
+    }
+    else {
 
-                jk_puts(s, "<tr><td>Load factor:</td><td><input name=\"wf\" type=\"text\" ");
-                jk_printf(s, "value=\"%d\"/></td></tr>\n", wr->s->lb_factor);
-                jk_puts(s, "<tr><td>Route Redirect:</td><td><input name=\"wr\" type=\"text\" ");
-                jk_putv(s, "value=\"", wr->s->redirect, NULL);
-                jk_puts(s, "\"/></td></tr>\n");
-                jk_puts(s, "<tr><td>Cluster Domain:</td><td><input name=\"wc\" type=\"text\" ");
-                jk_putv(s, "value=\"", wr->s->domain, NULL);
-                jk_puts(s, "\"/></td></tr>\n");
-                jk_puts(s, "<tr><td>Activation:</td><td></td></tr>\n");
-                jk_puts(s, "<tr><td>&nbsp;&nbsp;Active</td><td><input name=\"wa\" type=\"radio\"");
+        if (mime == JK_STATUS_MIME_HTML) {
+
+            jk_puts(s, "<p>\n");
+            if (single) {
+                status_write_uri(s, p, "Show Balancer Members", JK_STATUS_CMD_SHOW, JK_STATUS_MIME_UNKNOWN,
+                                 NULL, NULL, 0, JK_STATUS_ARG_OPTION_NO_MEMBERS, "", l);
+            }
+            else {
+                status_write_uri(s, p, "Show Balancer Members", JK_STATUS_CMD_LIST, JK_STATUS_MIME_UNKNOWN,
+                                 NULL, NULL, 0, JK_STATUS_ARG_OPTION_NO_MEMBERS, "", l);
+            }
+            jk_puts(s, "</p>\n");
+        }
+
+    }
+
+    if (name)
+        display_maps(s, p, name, l);
+
+    if (mime == JK_STATUS_MIME_XML) {
+        jk_print_xml_close_elt(s, w, 2, "balancer");
+    }
+
+    JK_TRACE_EXIT(l);
+}
+
+static void display_worker_ajp(jk_ws_service_t *s,
+                               status_endpoint_t *p,
+                               ajp_worker_t *aw,
+                               jk_logger_t *l)
+{
+    char buf[32];
+    int cmd;
+    int mime;
+    int single = 0;
+    const char *arg;
+    int map_count;
+    const char *name = aw->name;
+    status_worker_t *w = p->worker;
+
+    JK_TRACE_ENTER(l);
+    status_get_string(p, JK_STATUS_ARG_CMD, NULL, &arg, l);
+    cmd = status_cmd_int(arg);
+    status_get_string(p, JK_STATUS_ARG_MIME, NULL, &arg, l);
+    mime = status_mime_int(arg);
+    if (cmd == JK_STATUS_CMD_SHOW) {
+        single = 1;
+    }
+
+    map_count = count_maps(s, name, l);
+
+    if (mime == JK_STATUS_MIME_HTML) {
+
+        jk_puts(s, "<hr/><h3>[");
+        if (single)
+            jk_puts(s, "S");
+        else
+            status_write_uri(s, p, "S", JK_STATUS_CMD_SHOW, JK_STATUS_MIME_UNKNOWN,
+                             name, "", 0, 0, "", l);
+        jk_puts(s, "]&nbsp;&nbsp;");
+        jk_putv(s, "Worker Status for ", name, "</h3>\n", NULL);
+        jk_puts(s, "<table>" JK_STATUS_SHOW_AJP_HEAD);
+        jk_printf(s, JK_STATUS_SHOW_AJP_ROW,
+                  status_worker_type(aw->worker.type),
+                  aw->host, aw->port,
+                  jk_dump_hinfo(&aw->worker_inet_addr, buf));
+        jk_puts(s, "</table>\n");
+
+    }
+    else if (mime == JK_STATUS_MIME_XML) {
+
+        jk_print_xml_start_elt(s, w, 0, 0, "ajp");
+        jk_print_xml_att_string(s, 2, "name", name);
+        jk_print_xml_att_string(s, 2, "type", status_worker_type(aw->worker.type));
+        jk_print_xml_att_string(s, 2, "host", aw->host);
+        jk_print_xml_att_int(s, 2, "port", aw->port);
+        jk_print_xml_att_string(s, 2, "address", jk_dump_hinfo(&aw->worker_inet_addr, buf));
+        jk_print_xml_att_int(s, 2, "map_count", map_count);
+        /* Terminate the tag */
+        jk_print_xml_stop_elt(s, 0, 0);
+
+    }
+    else if (mime == JK_STATUS_MIME_TXT) {
+
+        jk_puts(s, "AJP Worker:");
+        jk_printf(s, " name=%s", name);
+        jk_printf(s, " type=%s", status_worker_type(aw->worker.type));
+        jk_printf(s, " host=%s", aw->host);
+        jk_printf(s, " port=%d", aw->port);
+        jk_printf(s, " address=%s", jk_dump_hinfo(&aw->worker_inet_addr, buf));
+        jk_printf(s, " map_count=%d", map_count);
+        jk_puts(s, "\n");
+
+    }
+    else if (mime == JK_STATUS_MIME_PROP) {
+
+        jk_print_prop_att_string(s, w, NULL, "list", name);
+        jk_print_prop_att_string(s, w, name, "type", status_worker_type(aw->worker.type));
+        jk_print_prop_att_string(s, w, name, "host", aw->host);
+        jk_print_prop_att_int(s, w, name, "port", aw->port);
+        jk_print_prop_att_string(s, w, name, "address", jk_dump_hinfo(&aw->worker_inet_addr, buf));
+        jk_print_prop_att_int(s, w, name, "map_count", map_count);
+
+    }
+    if (name)
+        display_maps(s, p, name, l);
+
+    if (mime == JK_STATUS_MIME_XML) {
+        jk_print_xml_close_elt(s, w, 0, "ajp");
+    }
+
+    JK_TRACE_EXIT(l);
+}
+
+static void display_worker(jk_ws_service_t *s,
+                           status_endpoint_t *p,
+                           jk_worker_t *jw,
+                           jk_logger_t *l)
+{
+    status_worker_t *w = p->worker;
+
+    JK_TRACE_ENTER(l);
+    if (jw->type == JK_LB_WORKER_TYPE) {
+        lb_worker_t *lb = (lb_worker_t *)jw->worker_private;
+        if (lb) {
+            if (JK_IS_DEBUG_LEVEL(l))
+                jk_log(l, JK_LOG_DEBUG,
+                       "Status worker '%s' %s lb worker '%s'",
+                       w->name, "displaying", lb->s->name);
+            display_worker_lb(s, p, lb, l);
+        }
+        else {
+            jk_log(l, JK_LOG_WARNING,
+                   "Status worker '%s' lb worker is (null)",
+                   w->name);
+        }
+    }
+    else if (jw->type == JK_AJP13_WORKER_TYPE ||
+             jw->type == JK_AJP14_WORKER_TYPE) {
+        ajp_worker_t *aw = (ajp_worker_t *)jw->worker_private;
+        if (aw) {
+            if (JK_IS_DEBUG_LEVEL(l))
+                jk_log(l, JK_LOG_DEBUG,
+                       "Status worker '%s' %s ajp worker '%s'",
+                       w->name, "displaying", aw->name);
+            display_worker_ajp(s, p, aw, l);
+        }
+        else {
+            jk_log(l, JK_LOG_WARNING,
+                   "Status worker '%s' aw worker is (null)",
+                   w->name);
+        }
+    }
+    else {
+        if (JK_IS_DEBUG_LEVEL(l))
+            jk_log(l, JK_LOG_DEBUG,
+                   "Status worker '%s' worker type not implemented",
+                   w->name);
+        JK_TRACE_EXIT(l);
+        return;
+    }
+}
+
+static void form_worker(jk_ws_service_t *s,
+                        status_endpoint_t *p,
+                        jk_worker_t *jw,
+                        jk_logger_t *l)
+{
+    const char *name = NULL;
+    lb_worker_t *lb = NULL;
+    status_worker_t *w = p->worker;
+
+    JK_TRACE_ENTER(l);
+    if (jw->type == JK_LB_WORKER_TYPE) {
+        lb = (lb_worker_t *)jw->worker_private;
+        name = lb->s->name;
+        if (JK_IS_DEBUG_LEVEL(l))
+            jk_log(l, JK_LOG_DEBUG,
+                   "Status worker '%s' producing edit form for lb worker '%s'",
+                   w->name, name);
+    }
+    else {
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' worker type not implemented",
+               w->name);
+        JK_TRACE_EXIT(l);
+        return;
+    }
+
+    if (!lb) {
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' lb structure is (null)",
+               w->name);
+        JK_TRACE_EXIT(l);
+        return;
+    }
+
+    jk_shm_lock();
+    if (lb->sequence != lb->s->sequence)
+        jk_lb_pull(lb, l);
+    jk_shm_unlock();
+
+    jk_putv(s, "<hr/><h3>Edit load balancer settings for ",
+            name, "</h3>\n", NULL);
+
+    status_start_form(s, p, "GET", JK_STATUS_CMD_UPDATE, l);
+
+    jk_putv(s, "<table>\n<tr><td>", JK_STATUS_ARG_LB_TEXT_RETRIES,
+            ":</td><td><input name=\"",
+            JK_STATUS_ARG_LB_RETRIES, "\" type=\"text\" ", NULL);
+    jk_printf(s, "value=\"%d\"/></td></tr>\n", lb->retries);
+    jk_putv(s, "<tr><td>", JK_STATUS_ARG_LB_TEXT_RECOVER_TIME,
+            ":</td><td><input name=\"",
+            JK_STATUS_ARG_LB_RECOVER_TIME, "\" type=\"text\" ", NULL);
+    jk_printf(s, "value=\"%d\"/></td></tr>\n", lb->recover_wait_time);
+    jk_putv(s, "<tr><td>", JK_STATUS_ARG_LB_TEXT_STICKY,
+            ":</td><td><input name=\"",
+            JK_STATUS_ARG_LB_STICKY, "\" type=\"checkbox\"", NULL);
+    if (lb->sticky_session)
+        jk_puts(s, " checked=\"checked\"");
+    jk_puts(s, "/></td></tr>\n");
+    jk_putv(s, "<tr><td>", JK_STATUS_ARG_LB_TEXT_STICKY_FORCE,
+            ":</td><td><input name=\"",
+            JK_STATUS_ARG_LB_STICKY_FORCE, "\" type=\"checkbox\"", NULL);
+    if (lb->sticky_session_force)
+        jk_puts(s, " checked=\"checked\"");
+    jk_puts(s, "/></td></tr>\n");
+    jk_putv(s, "<tr><td>", JK_STATUS_ARG_LB_TEXT_METHOD,
+            ":</td><td></td></tr>\n", NULL);
+    jk_putv(s, "<tr><td>&nbsp;&nbsp;Requests</td><td><input name=\"",
+            JK_STATUS_ARG_LB_METHOD, "\" type=\"radio\"", NULL);
+    jk_printf(s, " value=\"%d\"", JK_LB_METHOD_REQUESTS);
+    if (lb->lbmethod == JK_LB_METHOD_REQUESTS)
+        jk_puts(s, " checked=\"checked\"");
+    jk_puts(s, "/></td></tr>\n");
+    jk_putv(s, "<tr><td>&nbsp;&nbsp;Traffic</td><td><input name=\"",
+            JK_STATUS_ARG_LB_METHOD, "\" type=\"radio\"", NULL);
+    jk_printf(s, " value=\"%d\"", JK_LB_METHOD_TRAFFIC);
+    if (lb->lbmethod == JK_LB_METHOD_TRAFFIC)
+        jk_puts(s, " checked=\"checked\"");
+    jk_puts(s, "/></td></tr>\n");
+    jk_putv(s, "<tr><td>&nbsp;&nbsp;Busyness</td><td><input name=\"",
+            JK_STATUS_ARG_LB_METHOD, "\" type=\"radio\"", NULL);
+    jk_printf(s, " value=\"%d\"", JK_LB_METHOD_BUSYNESS);
+    if (lb->lbmethod == JK_LB_METHOD_BUSYNESS)
+        jk_puts(s, " checked=\"checked\"");
+    jk_puts(s, "/></td></tr>\n");
+    jk_putv(s, "<tr><td>&nbsp;&nbsp;Sessions</td><td><input name=\"",
+            JK_STATUS_ARG_LB_METHOD, "\" type=\"radio\"", NULL);
+    jk_printf(s, " value=\"%d\"", JK_LB_METHOD_SESSIONS);
+    if (lb->lbmethod == JK_LB_METHOD_SESSIONS)
+        jk_puts(s, " checked=\"checked\"");
+    jk_puts(s, "/></td></tr>\n");
+    jk_putv(s, "<tr><td>", JK_STATUS_ARG_LB_TEXT_LOCK,
+            ":</td><td></td></tr>\n", NULL);
+    jk_putv(s, "<tr><td>&nbsp;&nbsp;Optimistic</td><td><input name=\"",
+            JK_STATUS_ARG_LB_LOCK, "\" type=\"radio\"", NULL);
+    jk_printf(s, " value=\"%d\"", JK_LB_LOCK_OPTIMISTIC);
+    if (lb->lblock == JK_LB_LOCK_OPTIMISTIC)
+        jk_puts(s, " checked=\"checked\"");
+    jk_puts(s, "/></td></tr>\n");
+    jk_putv(s, "<tr><td>&nbsp;&nbsp;Pessimistic</td><td><input name=\"",
+            JK_STATUS_ARG_LB_LOCK, "\" type=\"radio\"", NULL);
+    jk_printf(s, " value=\"%d\"", JK_LB_LOCK_PESSIMISTIC);
+    if (lb->lblock == JK_LB_LOCK_PESSIMISTIC)
+        jk_puts(s, " checked=\"checked\"");
+    jk_puts(s, "/></td></tr>\n");
+    jk_puts(s, "</table>\n");
+    jk_puts(s, "<br/><input type=\"submit\" value=\"Update Balancer\"/></form>\n");
+
+    JK_TRACE_EXIT(l);
+}
+
+static void form_member(jk_ws_service_t *s,
+                        status_endpoint_t *p,
+                        worker_record_t *wr,
+                        const char *lb_name,
+                        jk_logger_t *l)
+{
+    status_worker_t *w = p->worker;
+
+    JK_TRACE_ENTER(l);
+    if (JK_IS_DEBUG_LEVEL(l))
+        jk_log(l, JK_LOG_DEBUG,
+               "Status worker '%s' producing edit form for sub worker '%s' of lb worker '%s'",
+               w->name, wr->s->name, lb_name);
+
+    jk_putv(s, "<hr/><h3>Edit worker settings for ",
+            wr->s->name, "</h3>\n", NULL);
+    status_start_form(s, p, "GET", JK_STATUS_CMD_UPDATE, l);
+
+    jk_puts(s, "<table>\n");
+    jk_putv(s, "<tr><td>", JK_STATUS_ARG_LBM_TEXT_ACTIVATION,
+            ":</td><td></td></tr>\n", NULL);
+    jk_putv(s, "<tr><td>&nbsp;&nbsp;Active</td><td><input name=\"",
+            JK_STATUS_ARG_LBM_ACTIVATION, "\" type=\"radio\"", NULL);
+    jk_printf(s, " value=\"%d\"", JK_LB_ACTIVATION_ACTIVE);
+    if (wr->s->activation == JK_LB_ACTIVATION_ACTIVE)
+        jk_puts(s, " checked=\"checked\"");
+    jk_puts(s, "/></td></tr>\n");
+    jk_putv(s, "<tr><td>&nbsp;&nbsp;Disabled</td><td><input name=\"",
+            JK_STATUS_ARG_LBM_ACTIVATION, "\" type=\"radio\"", NULL);
+    jk_printf(s, " value=\"%d\"", JK_LB_ACTIVATION_DISABLED);
+    if (wr->s->activation == JK_LB_ACTIVATION_DISABLED)
+        jk_puts(s, " checked=\"checked\"");
+    jk_puts(s, "/></td></tr>\n");
+    jk_putv(s, "<tr><td>&nbsp;&nbsp;Stopped</td><td><input name=\"",
+            JK_STATUS_ARG_LBM_ACTIVATION, "\" type=\"radio\"", NULL);
+    jk_printf(s, " value=\"%d\"", JK_LB_ACTIVATION_STOPPED);
+    if (wr->s->activation == JK_LB_ACTIVATION_STOPPED)
+        jk_puts(s, " checked=\"checked\"");
+    jk_puts(s, "/></td></tr>\n");
+    jk_putv(s, "<tr><td>", JK_STATUS_ARG_LBM_TEXT_FACTOR,
+            ":</td><td><input name=\"",
+            JK_STATUS_ARG_LBM_FACTOR, "\" type=\"text\" ", NULL);
+    jk_printf(s, "value=\"%d\"/></td></tr>\n", wr->s->lb_factor);
+    jk_putv(s, "<tr><td>", JK_STATUS_ARG_LBM_TEXT_ROUTE,
+            ":</td><td><input name=\"",
+            JK_STATUS_ARG_LBM_ROUTE, "\" type=\"text\" ", NULL);
+    jk_printf(s, "value=\"%s\"/></td></tr>\n", wr->s->route);
+    jk_putv(s, "<tr><td>", JK_STATUS_ARG_LBM_TEXT_REDIRECT,
+            ":</td><td><input name=\"",
+            JK_STATUS_ARG_LBM_REDIRECT, "\" type=\"text\" ", NULL);
+    jk_putv(s, "value=\"", wr->s->redirect, NULL);
+    jk_puts(s, "\"/></td></tr>\n");
+    jk_putv(s, "<tr><td>", JK_STATUS_ARG_LBM_TEXT_DOMAIN,
+            ":</td><td><input name=\"",
+            JK_STATUS_ARG_LBM_DOMAIN, "\" type=\"text\" ", NULL);
+    jk_putv(s, "value=\"", wr->s->domain, NULL);
+    jk_puts(s, "\"/></td></tr>\n");
+    jk_putv(s, "<tr><td>", JK_STATUS_ARG_LBM_TEXT_DISTANCE,
+            ":</td><td><input name=\"",
+            JK_STATUS_ARG_LBM_DISTANCE, "\" type=\"text\" ", NULL);
+    jk_printf(s, "value=\"%d\"/></td></tr>\n", wr->s->distance);
+    jk_puts(s, "</table>\n");
+    jk_puts(s, "<br/><input type=\"submit\" value=\"Update Worker\"/>\n</form>\n");
+    JK_TRACE_EXIT(l);
+}
+
+static void form_all_members(jk_ws_service_t *s,
+                             status_endpoint_t *p,
+                             jk_worker_t *jw,
+                             const char *attribute,
+                             jk_logger_t *l)
+{
+    const char *name = NULL;
+    lb_worker_t *lb = NULL;
+    status_worker_t *w = p->worker;
+    const char *aname;
+    unsigned int i;
+
+    JK_TRACE_ENTER(l);
+    if (!attribute) {
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' missing request parameter '%s'",
+               w->name, JK_STATUS_ARG_ATTRIBUTE);
+        JK_TRACE_EXIT(l);
+        return;
+    }
+    else {
+        if (!strcmp(attribute, JK_STATUS_ARG_LBM_ACTIVATION))
+            aname=JK_STATUS_ARG_LBM_TEXT_ACTIVATION;
+        else if (!strcmp(attribute, JK_STATUS_ARG_LBM_FACTOR))
+            aname=JK_STATUS_ARG_LBM_TEXT_FACTOR;
+        else if (!strcmp(attribute, JK_STATUS_ARG_LBM_ROUTE))
+            aname=JK_STATUS_ARG_LBM_TEXT_ROUTE;
+        else if (!strcmp(attribute, JK_STATUS_ARG_LBM_REDIRECT))
+            aname=JK_STATUS_ARG_LBM_TEXT_REDIRECT;
+        else if (!strcmp(attribute, JK_STATUS_ARG_LBM_DOMAIN))
+            aname=JK_STATUS_ARG_LBM_TEXT_DOMAIN;
+        else if (!strcmp(attribute, JK_STATUS_ARG_LBM_DISTANCE))
+            aname=JK_STATUS_ARG_LBM_TEXT_DISTANCE;
+        else {
+            jk_log(l, JK_LOG_WARNING,
+                   "Status worker '%s' unknown attribute '%s'",
+                   w->name, attribute);
+            JK_TRACE_EXIT(l);
+            return;
+        }
+    }
+    if (jw->type == JK_LB_WORKER_TYPE) {
+        lb = (lb_worker_t *)jw->worker_private;
+        name = lb->s->name;
+        if (JK_IS_DEBUG_LEVEL(l))
+            jk_log(l, JK_LOG_DEBUG,
+                   "Status worker '%s' producing edit form for attribute '%s' [%s] of all members of lb worker '%s'",
+                   w->name, attribute, aname, name);
+    }
+    else {
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' worker type not implemented",
+               w->name);
+        JK_TRACE_EXIT(l);
+        return;
+    }
+
+    if (lb) {
+        jk_putv(s, "<hr/><h3>Edit attribute '", aname,
+                "' for all members of load balancer ",
+                name, "</h3>\n", NULL);
+
+        status_start_form(s, p, "GET", JK_STATUS_CMD_UPDATE, l);
+
+        jk_putv(s, "<table><tr>"
+                "<th>Balanced Worker</th><th>", aname, "</th>"
+                "</tr>", NULL);
+
+        for (i = 0; i < lb->num_of_workers; i++) {
+            worker_record_t *wr = &(lb->lb_workers[i]);
+
+            jk_putv(s, "<tr><td>", wr->s->name, "</td><td>\n", NULL);
+
+            if (!strcmp(attribute, JK_STATUS_ARG_LBM_ACTIVATION)) {
+
+                jk_printf(s, "Active:&nbsp;<input name=\"" JK_STATUS_ARG_MULT_VALUE_BASE "%d\" type=\"radio\"", i);
                 jk_printf(s, " value=\"%d\"", JK_LB_ACTIVATION_ACTIVE);
                 if (wr->s->activation == JK_LB_ACTIVATION_ACTIVE)
                     jk_puts(s, " checked=\"checked\"");
-                jk_puts(s, "/></td></tr>\n");
-                jk_puts(s, "<tr><td>&nbsp;&nbsp;Disabled</td><td><input name=\"wa\" type=\"radio\"");
+                jk_puts(s, "/>&nbsp;|&nbsp;\n");
+                jk_printf(s, "Disabled:&nbsp;<input name=\"" JK_STATUS_ARG_MULT_VALUE_BASE "%d\" type=\"radio\"", i);
                 jk_printf(s, " value=\"%d\"", JK_LB_ACTIVATION_DISABLED);
                 if (wr->s->activation == JK_LB_ACTIVATION_DISABLED)
                     jk_puts(s, " checked=\"checked\"");
-                jk_puts(s, "/></td></tr>\n");
-                jk_puts(s, "<tr><td>&nbsp;&nbsp;Stopped</td><td><input name=\"wa\" type=\"radio\"");
+                jk_puts(s, "/>&nbsp;|&nbsp;\n");
+                jk_printf(s, "Stopped:&nbsp;<input name=\"" JK_STATUS_ARG_MULT_VALUE_BASE "%d\" type=\"radio\"", i);
                 jk_printf(s, " value=\"%d\"", JK_LB_ACTIVATION_STOPPED);
                 if (wr->s->activation == JK_LB_ACTIVATION_STOPPED)
                     jk_puts(s, " checked=\"checked\"");
-                jk_puts(s, "/></td></tr>\n");
-                jk_puts(s, "</table>\n");
-                jk_puts(s, "<br/><input type=\"submit\" value=\"Update Worker\"/>\n</form>\n");
+                jk_puts(s, "/>\n");
 
             }
-            else if (dworker && strcmp(dworker, sw->we->worker_list[i]) == 0) {
-                /* Edit Load balancer settings */
-                jk_putv(s, "<hr/><h3>Edit Load balancer settings for ",
-                        dworker, "</h3>\n", NULL);
-                jk_putv(s, "<form method=\"GET\" action=\"",
-                        s->req_uri, "\">\n", NULL);
-                jk_puts(s, "<input type=\"hidden\" name=\"cmd\" ");
-                jk_puts(s, "value=\"update\"/>\n");
-                jk_puts(s, "<input type=\"hidden\" name=\"w\" ");
-                jk_putv(s, "value=\"", dworker, "\"/>\n", NULL);
-                jk_puts(s, "<input type=\"hidden\" name=\"id\" ");
-                jk_printf(s, "value=\"%u\"/>\n", i);
+            else if (!strcmp(attribute, JK_STATUS_ARG_LBM_FACTOR)) {
+                jk_printf(s, "<input name=\"" JK_STATUS_ARG_MULT_VALUE_BASE "%d\" type=\"text\"", i);
+                jk_printf(s, "value=\"%d\"/>\n", wr->s->lb_factor);
+            }
+            else if (!strcmp(attribute, JK_STATUS_ARG_LBM_ROUTE)) {
+                jk_printf(s, "<input name=\"" JK_STATUS_ARG_MULT_VALUE_BASE "%d\" type=\"text\"", i);
+                jk_putv(s, "value=\"", wr->s->route, "\"/>\n", NULL);
+            }
+            else if (!strcmp(attribute, JK_STATUS_ARG_LBM_REDIRECT)) {
+                jk_printf(s, "<input name=\"" JK_STATUS_ARG_MULT_VALUE_BASE "%d\" type=\"text\"", i);
+                jk_putv(s, "value=\"", wr->s->redirect, "\"/>\n", NULL);
+            }
+            else if (!strcmp(attribute, JK_STATUS_ARG_LBM_DOMAIN)) {
+                jk_printf(s, "<input name=\"" JK_STATUS_ARG_MULT_VALUE_BASE "%d\" type=\"text\"", i);
+                jk_putv(s, "value=\"", wr->s->domain, "\"/>\n", NULL);
+            }
+            else if (!strcmp(attribute, JK_STATUS_ARG_LBM_DISTANCE)) {
+                jk_printf(s, "<input name=\"" JK_STATUS_ARG_MULT_VALUE_BASE "%d\" type=\"text\"", i);
+                jk_printf(s, "value=\"%d\"/>\n", wr->s->distance);
+            }
 
-                jk_puts(s, "<table>\n<tr><td>Retries:</td><td><input name=\"lr\" type=\"text\" ");
-                jk_printf(s, "value=\"%d\"/></td></tr>\n", lb->s->retries);
-                jk_puts(s, "<tr><td>Recover time:</td><td><input name=\"lt\" type=\"text\" ");
-                jk_printf(s, "value=\"%d\"/></td></tr>\n", lb->s->recover_wait_time);
-                jk_puts(s, "<tr><td>Sticky session:</td><td><input name=\"ls\" type=\"checkbox\"");
-                if (lb->s->sticky_session)
-                    jk_puts(s, " checked=\"checked\"");
-                jk_puts(s, "/></td></tr>\n");
-                jk_puts(s, "<tr><td>Force Sticky session:</td><td><input name=\"lf\" type=\"checkbox\"");
-                if (lb->s->sticky_session_force)
-                    jk_puts(s, " checked=\"checked\"");
-                jk_puts(s, "/></td></tr>\n");
-                jk_puts(s, "</table>\n");
+            jk_puts(s, "</td></tr>");
+        }
 
-                display_maps(s, sw, s->uw_map, dworker, l);
-                jk_puts(s, "<br/><input type=\"submit\" value=\"Update Balancer\"/></form>\n");
+        jk_puts(s, "</table>\n");
+        jk_puts(s, "<br/><input type=\"submit\" value=\"Update Balancer\"/></form>\n");
+    }
+    JK_TRACE_EXIT(l);
+}
+
+static void commit_worker(jk_ws_service_t *s,
+                          status_endpoint_t *p,
+                          jk_worker_t *jw,
+                          jk_logger_t *l)
+{
+    const char *name = NULL;
+    lb_worker_t *lb = NULL;
+    status_worker_t *w = p->worker;
+    const char *arg;
+    int i;
+
+    JK_TRACE_ENTER(l);
+    if (jw->type == JK_LB_WORKER_TYPE) {
+        lb = (lb_worker_t *)jw->worker_private;
+        name = lb->s->name;
+        if (JK_IS_DEBUG_LEVEL(l))
+            jk_log(l, JK_LOG_DEBUG,
+                   "Status worker '%s' committing changes for lb worker '%s'",
+                   w->name, name);
+    }
+    else {
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' worker type not implemented",
+               w->name);
+        JK_TRACE_EXIT(l);
+        return;
+    }
+
+    if (!lb) {
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' lb structure is (null)",
+               w->name);
+        JK_TRACE_EXIT(l);
+        return;
+    }
+
+    if (lb->sequence != lb->s->sequence)
+        jk_lb_pull(lb, l);
+
+    i = status_get_int(p, JK_STATUS_ARG_LB_RETRIES,
+                       lb->retries, l);
+    if (i != lb->retries && i > 0) {
+        jk_log(l, JK_LOG_INFO,
+               "Status worker '%s' setting 'retries' for lb worker '%s' to '%i'",
+               w->name, name, i);
+        lb->retries = i;
+    }
+    i = status_get_int(p, JK_STATUS_ARG_LB_RECOVER_TIME,
+                       lb->recover_wait_time, l);
+    if (i != lb->recover_wait_time && i > 0) {
+        jk_log(l, JK_LOG_INFO,
+               "Status worker '%s' setting 'recover_time' for lb worker '%s' to '%i'",
+               w->name, name, i);
+        lb->recover_wait_time = i;
+    }
+    i = status_get_bool(p, JK_STATUS_ARG_LB_STICKY, 0, l);
+    if (i != lb->sticky_session) {
+        jk_log(l, JK_LOG_INFO,
+               "Status worker '%s' setting 'sticky_session' for lb worker '%s' to '%i'",
+               w->name, name, i);
+        lb->sticky_session = i;
+    }
+    i = status_get_bool(p, JK_STATUS_ARG_LB_STICKY_FORCE, 0, l);
+    if (i != lb->sticky_session_force) {
+        jk_log(l, JK_LOG_INFO,
+               "Status worker '%s' setting 'sticky_session_force' for lb worker '%s' to '%i'",
+               w->name, name, i);
+        lb->sticky_session_force = i;
+    }
+    if (status_get_string(p, JK_STATUS_ARG_LB_METHOD, NULL, &arg, l) == JK_TRUE) {
+        i = jk_lb_get_method_code(arg);
+        if (i != lb->lbmethod && i >= 0 && i <= JK_LB_METHOD_MAX) {
+            lb->lbmethod = i;
+            jk_log(l, JK_LOG_INFO,
+                   "Status worker '%s' setting 'method' for lb worker '%s' to '%s'",
+                   w->name, name, jk_lb_get_method(lb, l));
+        }
+    }
+    if (status_get_string(p, JK_STATUS_ARG_LB_LOCK, NULL, &arg, l) == JK_TRUE) {
+        i = jk_lb_get_lock_code(arg);
+        if (i != lb->lblock && i >= 0 && i <= JK_LB_LOCK_MAX) {
+            lb->lblock = i;
+            jk_log(l, JK_LOG_INFO,
+                   "Status worker '%s' setting 'lock' for lb worker '%s' to '%s'",
+                   w->name, name, jk_lb_get_lock(lb, l));
+        }
+    }
+    lb->sequence++;
+    jk_lb_push(lb, l);
+}
+
+static int commit_member(jk_ws_service_t *s,
+                          status_endpoint_t *p,
+                          worker_record_t *wr,
+                          const char *lb_name,
+                          jk_logger_t *l)
+{
+    const char *arg;
+    status_worker_t *w = p->worker;
+    int rc = 0;
+    int rv;
+    int i;
+
+    JK_TRACE_ENTER(l);
+    if (JK_IS_DEBUG_LEVEL(l))
+        jk_log(l, JK_LOG_DEBUG,
+               "Status worker '%s' committing changes for sub worker '%s' of lb worker '%s'",
+               w->name, wr->s->name, lb_name);
+
+    if (status_get_string(p, JK_STATUS_ARG_LBM_ACTIVATION, NULL, &arg, l) == JK_TRUE) {
+        i = jk_lb_get_activation_code(arg);
+        if (i != wr->s->activation && i >= 0 && i <= JK_LB_ACTIVATION_MAX) {
+            wr->s->activation = i;
+            jk_log(l, JK_LOG_INFO,
+                   "Status worker '%s' setting 'activation' for sub worker '%s' of lb worker '%s' to '%s'",
+                   w->name, wr->s->name, lb_name, jk_lb_get_activation(wr, l));
+            rc |= 1;
+        }
+    }
+    i = status_get_int(p, JK_STATUS_ARG_LBM_FACTOR,
+                       wr->s->lb_factor, l);
+    if (i != wr->s->lb_factor && i > 0) {
+        jk_log(l, JK_LOG_INFO,
+               "Status worker '%s' setting 'lbfactor' for sub worker '%s' of lb worker '%s' to '%i'",
+               w->name, wr->s->name, lb_name, i);
+        wr->s->lb_factor = i;
+        /* Recalculate the load multiplicators wrt. lb_factor */
+        rc |= 2;
+    }
+    if ((rv = status_get_string(p, JK_STATUS_ARG_LBM_ROUTE,
+                                NULL, &arg, l)) == JK_TRUE) {
+        if (strncmp(wr->s->route, arg, JK_SHM_STR_SIZ)) {
+            jk_log(l, JK_LOG_INFO,
+                   "Status worker '%s' setting 'route' for sub worker '%s' of lb worker '%s' to '%s'",
+                   w->name, wr->s->name, lb_name, arg);
+            strncpy(wr->s->route, arg, JK_SHM_STR_SIZ);
+            if (!wr->s->domain[0]) {
+                char * id_domain = strchr(wr->s->route, '.');
+                if (id_domain) {
+                    *id_domain = '\0';
+                    strcpy(wr->s->domain, wr->s->route);
+                    *id_domain = '.';
+                }
             }
         }
+    }
+    if ((rv = status_get_string(p, JK_STATUS_ARG_LBM_REDIRECT,
+                                NULL, &arg, l)) == JK_TRUE) {
+        if (strncmp(wr->s->redirect, arg, JK_SHM_STR_SIZ)) {
+            jk_log(l, JK_LOG_INFO,
+                   "Status worker '%s' setting 'redirect' for sub worker '%s' of lb worker '%s' to '%s'",
+                   w->name, wr->s->name, lb_name, arg);
+            strncpy(wr->s->redirect, arg, JK_SHM_STR_SIZ);
+        }
+    }
+    if ((rv = status_get_string(p, JK_STATUS_ARG_LBM_DOMAIN,
+                                NULL, &arg, l)) == JK_TRUE) {
+        if (strncmp(wr->s->domain, arg, JK_SHM_STR_SIZ)) {
+            jk_log(l, JK_LOG_INFO,
+                   "Status worker '%s' setting 'domain' for sub worker '%s' of lb worker '%s' to '%s'",
+                   w->name, wr->s->name, lb_name, arg);
+            strncpy(wr->s->domain, arg, JK_SHM_STR_SIZ);
+        }
+    }
+    i = status_get_int(p, JK_STATUS_ARG_LBM_DISTANCE,
+                       wr->s->distance, l);
+    if (i != wr->s->distance && i > 0) {
+        jk_log(l, JK_LOG_INFO,
+               "Status worker '%s' setting 'distance' for sub worker '%s' of lb worker '%s' to '%i'",
+               w->name, wr->s->name, lb_name, i);
+        wr->s->distance = i;
+    }
+    return rc;
+}
+
+static void commit_all_members(jk_ws_service_t *s,
+                               status_endpoint_t *p,
+                               jk_worker_t *jw,
+                               const char *attribute,
+                               jk_logger_t *l)
+{
+    const char *arg;
+    char vname[32];
+    const char *name = NULL;
+    lb_worker_t *lb = NULL;
+    status_worker_t *w = p->worker;
+    const char *aname;
+    int i;
+    int rc = 0;
+    unsigned int j;
+
+    JK_TRACE_ENTER(l);
+    if (!attribute) {
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' missing request parameter '%s'",
+               w->name, JK_STATUS_ARG_ATTRIBUTE);
+        JK_TRACE_EXIT(l);
+        return;
+    }
+    else {
+        if (!strcmp(attribute, JK_STATUS_ARG_LBM_ACTIVATION))
+            aname=JK_STATUS_ARG_LBM_TEXT_ACTIVATION;
+        else if (!strcmp(attribute, JK_STATUS_ARG_LBM_FACTOR))
+            aname=JK_STATUS_ARG_LBM_TEXT_FACTOR;
+        else if (!strcmp(attribute, JK_STATUS_ARG_LBM_ROUTE))
+            aname=JK_STATUS_ARG_LBM_TEXT_ROUTE;
+        else if (!strcmp(attribute, JK_STATUS_ARG_LBM_REDIRECT))
+            aname=JK_STATUS_ARG_LBM_TEXT_REDIRECT;
+        else if (!strcmp(attribute, JK_STATUS_ARG_LBM_DOMAIN))
+            aname=JK_STATUS_ARG_LBM_TEXT_DOMAIN;
+        else if (!strcmp(attribute, JK_STATUS_ARG_LBM_DISTANCE))
+            aname=JK_STATUS_ARG_LBM_TEXT_DISTANCE;
         else {
-            jk_puts(s, "\n\n<table><tr>"
-                    "<th>Type</th><th>Host</th><th>Addr</th>"
-                    "</tr>\n<tr>");
-            jk_putv(s, "<td>", status_worker_type(w->type), "</td>", NULL);
-            jk_printf(s, "<td>%s:%d</td>", aw->host, aw->port);
-            jk_putv(s, "<td>", jk_dump_hinfo(&aw->worker_inet_addr, buf),
-                    "</td>\n</tr>\n", NULL);
-            jk_puts(s, "</table>\n");
+            jk_log(l, JK_LOG_WARNING,
+                   "Status worker '%s' unknown attribute '%s'",
+                   w->name, attribute);
+            JK_TRACE_EXIT(l);
+            return;
+        }
+    }
+    if (jw->type == JK_LB_WORKER_TYPE) {
+        lb = (lb_worker_t *)jw->worker_private;
+        name = lb->s->name;
+        if (JK_IS_DEBUG_LEVEL(l))
+            jk_log(l, JK_LOG_DEBUG,
+                   "Status worker '%s' committing changes for attribute '%s' [%s] of all members of lb worker '%s'",
+                   w->name, attribute, aname, name);
+    }
+    else {
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' worker type not implemented",
+               w->name);
+        JK_TRACE_EXIT(l);
+        return;
+    }
 
+    if (lb) {
+        for (j = 0; j < lb->num_of_workers; j++) {
+            worker_record_t *wr = &(lb->lb_workers[j]);
+            snprintf(vname, 32-1, "" JK_STATUS_ARG_MULT_VALUE_BASE "%d", j);
+
+            if (!strcmp(attribute, JK_STATUS_ARG_LBM_FACTOR)) {
+                i = status_get_int(p, vname, wr->s->lb_factor, l);
+                if (i != wr->s->lb_factor && i > 0) {
+                    jk_log(l, JK_LOG_INFO,
+                           "Status worker '%s' setting 'lbfactor' for sub worker '%s' of lb worker '%s' to '%i'",
+                           w->name, wr->s->name, name, i);
+                    wr->s->lb_factor = i;
+                    rc = 2;
+                }
+            }
+            else if (!strcmp(attribute, JK_STATUS_ARG_LBM_DISTANCE)) {
+                i = status_get_int(p, vname, wr->s->distance, l);
+                if (i != wr->s->distance && i > 0) {
+                    jk_log(l, JK_LOG_INFO,
+                           "Status worker '%s' setting 'distance' for sub worker '%s' of lb worker '%s' to '%i'",
+                           w->name, wr->s->name, name, i);
+                    wr->s->lb_factor = i;
+                }
+            }
+            else {
+                int rv = status_get_string(p, vname, NULL, &arg, l);
+                if (!strcmp(attribute, JK_STATUS_ARG_LBM_ACTIVATION)) {
+                    if (rv == JK_TRUE) {
+                        i = jk_lb_get_activation_code(arg);
+                        if (i != wr->s->activation && i >= 0 && i <= JK_LB_ACTIVATION_MAX) {
+                            wr->s->activation = i;
+                            jk_log(l, JK_LOG_INFO,
+                                   "Status worker '%s' setting 'activation' for sub worker '%s' of lb worker '%s' to '%s'",
+                                   w->name, wr->s->name, name, jk_lb_get_activation(wr, l));
+                            rc = 1;
+                        }
+                    }
+                }
+                else if (!strcmp(attribute, JK_STATUS_ARG_LBM_ROUTE)) {
+                    if (rv == JK_TRUE) {
+                        if (strncmp(wr->s->route, arg, JK_SHM_STR_SIZ)) {
+                            jk_log(l, JK_LOG_INFO,
+                                   "Status worker '%s' setting 'route' for sub worker '%s' of lb worker '%s' to '%s'",
+                                   w->name, wr->s->name, name, arg);
+                            strncpy(wr->s->route, arg, JK_SHM_STR_SIZ);
+                            if (!wr->s->domain[0]) {
+                                char * id_domain = strchr(wr->s->route, '.');
+                                if (id_domain) {
+                                    *id_domain = '\0';
+                                    strcpy(wr->s->domain, wr->s->route);
+                                    *id_domain = '.';
+                                }
+                            }
+                        }
+                    }
+                }
+                else if (!strcmp(attribute, JK_STATUS_ARG_LBM_REDIRECT)) {
+                    if (rv == JK_TRUE) {
+                        if (strncmp(wr->s->redirect, arg, JK_SHM_STR_SIZ)) {
+                            jk_log(l, JK_LOG_INFO,
+                                   "Status worker '%s' setting 'redirect' for sub worker '%s' of lb worker '%s' to '%s'",
+                                   w->name, wr->s->name, name, arg);
+                            strncpy(wr->s->redirect, arg, JK_SHM_STR_SIZ);
+                        }
+                    }
+                }
+                else if (!strcmp(attribute, JK_STATUS_ARG_LBM_DOMAIN)) {
+                    if (rv == JK_TRUE) {
+                        if (strncmp(wr->s->domain, arg, JK_SHM_STR_SIZ)) {
+                            jk_log(l, JK_LOG_INFO,
+                                   "Status worker '%s' setting 'domain' for sub worker '%s' of lb worker '%s' to '%s'",
+                                   w->name, wr->s->name, name, arg);
+                            strncpy(wr->s->domain, arg, JK_SHM_STR_SIZ);
+                        }
+                    }
+                }
+            }
         }
+        if (rc == 1)
+            reset_lb_values(lb, l);
+        else if (rc == 2)
+            /* Recalculate the load multiplicators wrt. lb_factor */
+            update_mult(lb, l);
     }
-    /* Display legend */
-    jk_puts(s, "<hr/><table>\n"
+    JK_TRACE_EXIT(l);
+}
+
+static void display_legend(jk_ws_service_t *s,
+                           status_endpoint_t *p,
+                           jk_logger_t *l)
+{
+
+    int mime;
+    const char *arg;
+    unsigned int hide_legend;
+    
+    JK_TRACE_ENTER(l);
+    status_get_string(p, JK_STATUS_ARG_MIME, NULL, &arg, l);
+    mime = status_mime_int(arg);
+    if (mime != JK_STATUS_MIME_HTML) {
+        JK_TRACE_EXIT(l);
+        return;
+    }
+    hide_legend = status_get_int(p, JK_STATUS_ARG_OPTIONS, 0, l) &
+                               JK_STATUS_ARG_OPTION_NO_LEGEND;
+    if (hide_legend) {
+        jk_puts(s, "<p>\n");
+        status_write_uri(s, p, "Show Legend", JK_STATUS_CMD_UNKNOWN, JK_STATUS_MIME_UNKNOWN,
+                         NULL, NULL, 0, JK_STATUS_ARG_OPTION_NO_LEGEND, NULL, l);
+        jk_puts(s, "</p>\n");
+    }
+    else {
+        jk_puts(s, "<h2>Legend [");
+        status_write_uri(s, p, "Hide", JK_STATUS_CMD_UNKNOWN, JK_STATUS_MIME_UNKNOWN,
+                         NULL, NULL, JK_STATUS_ARG_OPTION_NO_LEGEND, 0, NULL, l);
+        jk_puts(s, "]</h2>\n");
+
+        jk_puts(s, "<table>\n"
+            "<tbody valign=\"baseline\">\n"
             "<tr><th>Name</th><td>Worker name</td></tr>\n"
             "<tr><th>Type</th><td>Worker type</td></tr>\n"
-            "<tr><th>jvmRoute</th><td>Worker JVM route</td></tr>\n"
+            "<tr><th>Route</th><td>Worker route</td></tr>\n"
             "<tr><th>Addr</th><td>Backend Address info</td></tr>\n"
-            "<tr><th>Act</th><td>Worker activation configuration</td></tr>\n"
-            "<tr><th>Stat</th><td>Worker error status</td></tr>\n"
+            "<tr><th>Act</th><td>Worker activation configuration<br/>\n"
+            "ACT=Active, DIS=Disabled, STP=Stopped</td></tr>\n"
+            "<tr><th>Stat</th><td>Worker error status<br/>\n"
+            "OK=OK, N/A=Unknown, ERR=Error, BSY=Busy<br/>\n"
+            "REC=Recovering, PRB=Probing, FRC=Forced Recovery</td></tr>\n"
             "<tr><th>D</th><td>Worker distance</td></tr>\n"
             "<tr><th>F</th><td>Load Balancer factor</td></tr>\n"
             "<tr><th>M</th><td>Load Balancer multiplicity</td></tr>\n"
@@ -609,386 +2509,942 @@
             "<tr><th>Max</th><td>Maximum number of busy connections</td></tr>\n"
             "<tr><th>RR</th><td>Route redirect</td></tr>\n"
             "<tr><th>Cd</th><td>Cluster domain</td></tr>\n"
-            "<tr><th>Rs</th><td>Recovery scheduled</td></tr>\n"
-            "</table>");
+            "<tr><th>Rs</th><td>Recovery scheduled in app. min/max seconds</td></tr>\n"
+            "</tbody>\n"
+            "</table>\n");
+    }
+
+    JK_TRACE_EXIT(l);
 }
 
-static void dump_config(jk_ws_service_t *s, status_worker_t *sw,
+static int check_worker(jk_ws_service_t *s,
+                        status_endpoint_t *p,
                         jk_logger_t *l)
 {
+    const char *worker;
+    const char *sub_worker;
+    jk_worker_t *jw = NULL;
+    worker_record_t *wr = NULL;
+
+    JK_TRACE_ENTER(l);
+    fetch_worker_and_sub_worker(p, "checking", &worker, &sub_worker, l);
+    if (search_worker(s, p, &jw, worker, l) == JK_FALSE) {
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
+    }
+
+    if (sub_worker && sub_worker[0]) {
+        if(search_sub_worker(s, p, jw, worker, &wr, sub_worker, l) == JK_FALSE) {
+            JK_TRACE_EXIT(l);
+            return JK_FALSE;
+        }
+    }
+
+    JK_TRACE_EXIT(l);
+    return JK_TRUE;
+}
+
+static void count_workers(jk_ws_service_t *s,
+                          status_endpoint_t *p,
+                          int *lb_cnt, int *ajp_cnt,
+                          jk_logger_t *l)
+{
     unsigned int i;
-    char buf[32];
-    int has_lb = 0;
+    jk_worker_t *jw = NULL;
+    status_worker_t *w = p->worker;
 
-    for (i = 0; i < sw->we->num_of_workers; i++) {
-        jk_worker_t *w = wc_get_worker_for_name(sw->we->worker_list[i], l);
-        if (w == NULL)
+    JK_TRACE_ENTER(l);
+    *lb_cnt = 0;
+    *ajp_cnt = 0;
+    for (i = 0; i < w->we->num_of_workers; i++) {
+        jw = wc_get_worker_for_name(w->we->worker_list[i], l);
+        if (!jw) {
+            jk_log(l, JK_LOG_WARNING,
+                   "Status worker '%s' could not find worker '%s'",
+                   w->name, w->we->worker_list[i]);
             continue;
-        if (w->type == JK_LB_WORKER_TYPE) {
-            has_lb = 1;
-            break;
         }
+        if (jw->type == JK_LB_WORKER_TYPE) {
+            (*lb_cnt)++;
+        }
+        else if (jw->type == JK_AJP13_WORKER_TYPE ||
+                 jw->type == JK_AJP14_WORKER_TYPE) {
+            (*ajp_cnt)++;
+        }
     }
+    JK_TRACE_EXIT(l);
+}
 
-    jk_printf(s, "  <jk:server name=\"%s\" port=\"%d\" software=\"%s\" version=\"%s\" />\n",
-              s->server_name, s->server_port, s->server_software,  JK_VERSTRING);
-    if (has_lb)
-        jk_puts(s, "  <jk:balancers>\n");
-    for (i = 0; i < sw->we->num_of_workers; i++) {
-        jk_worker_t *w = wc_get_worker_for_name(sw->we->worker_list[i], l);
-        lb_worker_t *lb = NULL;
-        unsigned int j;
+static void list_workers_type(jk_ws_service_t *s,
+                              status_endpoint_t *p,
+                              int list_lb, int count,
+                              jk_logger_t *l)
+{
 
-        if (w == NULL)
-            continue;
-        if (w->type == JK_LB_WORKER_TYPE) {
-            lb = (lb_worker_t *)w->worker_private;
+    const char *arg;
+    unsigned int i;
+    int mime;
+    unsigned int hide;
+    jk_worker_t *jw = NULL;
+    status_worker_t *w = p->worker;
+
+    JK_TRACE_ENTER(l);
+
+    status_get_string(p, JK_STATUS_ARG_MIME, NULL, &arg, l);
+    mime = status_mime_int(arg);
+    if (list_lb) {
+        hide = status_get_int(p, JK_STATUS_ARG_OPTIONS, 0, l) &
+                              JK_STATUS_ARG_OPTION_NO_LB;
+        if (hide) {
+            if (mime == JK_STATUS_MIME_HTML) {
+                jk_puts(s, "<p>\n");
+                status_write_uri(s, p, "Show Load Balancing Workers", JK_STATUS_CMD_UNKNOWN, JK_STATUS_MIME_UNKNOWN,
+                                 NULL, NULL, 0, JK_STATUS_ARG_OPTION_NO_LB, NULL, l);
+                jk_puts(s, "</p>\n");
+            }
         }
         else {
-            /* Skip non lb workers */
+            if (mime == JK_STATUS_MIME_XML) {
+                jk_print_xml_start_elt(s, w, 0, 0, "balancers");
+                jk_print_xml_att_int(s, 2, "count", count);
+                jk_print_xml_stop_elt(s, 0, 0);
+            }
+            else if (mime == JK_STATUS_MIME_TXT) {
+                jk_printf(s, "Balancer Workers: count=%d\n", count);
+            }
+            else if (mime == JK_STATUS_MIME_PROP) {
+                jk_print_prop_att_int(s, w, NULL, "lb_count", count);
+            }
+            else {
+                jk_printf(s, "<hr/><h2>Listing Load Balancing Worker%s (%d Worker%s) [",
+                          count>1 ? "s" : "", count, count>1 ? "s" : "");
+                status_write_uri(s, p, "Hide", JK_STATUS_CMD_UNKNOWN, JK_STATUS_MIME_UNKNOWN,
+                                 NULL, NULL, JK_STATUS_ARG_OPTION_NO_LB, 0, NULL, l);
+                jk_puts(s, "]</h2>\n");
+            }
+        }
+    }
+    else {
+        hide = status_get_int(p, JK_STATUS_ARG_OPTIONS, 0, l) &
+                              JK_STATUS_ARG_OPTION_NO_AJP;
+        if (hide) {
+            if (mime == JK_STATUS_MIME_HTML) {
+                jk_puts(s, "<p>\n");
+                status_write_uri(s, p, "Show AJP Workers", JK_STATUS_CMD_UNKNOWN, JK_STATUS_MIME_UNKNOWN,
+                                 NULL, NULL, 0, JK_STATUS_ARG_OPTION_NO_AJP, NULL, l);
+                jk_puts(s, "</p>\n");
+            }
+        }
+        else {
+            if (mime == JK_STATUS_MIME_XML) {
+                jk_print_xml_start_elt(s, w, 0, 0, "ajp_workers");
+                jk_print_xml_att_int(s, 2, "count", count);
+                jk_print_xml_stop_elt(s, 0, 0);
+            }
+            else if (mime == JK_STATUS_MIME_TXT) {
+                jk_printf(s, "AJP Workers: count=%d\n", count);
+            }
+            else if (mime == JK_STATUS_MIME_PROP) {
+                jk_print_prop_att_int(s, w, NULL, "ajp_count", count);
+            }
+            else {
+                jk_printf(s, "<hr/><h2>Listing AJP Worker%s (%d Worker%s) [",
+                          count>1 ? "s" : "", count, count>1 ? "s" : "");
+                status_write_uri(s, p, "Hide", JK_STATUS_CMD_UNKNOWN, JK_STATUS_MIME_UNKNOWN,
+                                 NULL, NULL, JK_STATUS_ARG_OPTION_NO_AJP, 0, NULL, l);
+                jk_puts(s, "]</h2>\n");
+            }
+        }
+    }
+
+    if (hide) {
+        JK_TRACE_EXIT(l);
+        return;
+    }
+
+    for (i = 0; i < w->we->num_of_workers; i++) {
+        jw = wc_get_worker_for_name(w->we->worker_list[i], l);
+        if (!jw) {
+            jk_log(l, JK_LOG_WARNING,
+                   "Status worker '%s' could not find worker '%s'",
+                   w->name, w->we->worker_list[i]);
             continue;
         }
-        jk_printf(s, "  <jk:balancer id=\"%d\" name=\"%s\" type=\"%s\" sticky=\"%s\" stickyforce=\"%s\" retries=\"%d\" recover=\"%d\" >\n",
-             i,
-             lb->s->name,
-             status_worker_type(w->type),
-             status_val_bool(lb->s->sticky_session),
-             status_val_bool(lb->s->sticky_session_force),
-             lb->s->retries,
-             lb->s->recover_wait_time);
-        for (j = 0; j < lb->num_of_workers; j++) {
-            worker_record_t *wr = &(lb->lb_workers[j]);
-            ajp_worker_t *a = (ajp_worker_t *)wr->w->worker_private;
-            /* TODO: descriptive status */
-            jk_printf(s, "      <jk:member id=\"%d\" name=\"%s\" type=\"%s\" host=\"%s\" port=\"%d\" address=\"%s\" activation=\"%s\" state=\"%s\"",
-                j,
-                wr->s->name,
-                status_worker_type(wr->w->type),
-                a->host,
-                a->port,
-                jk_dump_hinfo(&a->worker_inet_addr, buf),
-                jk_lb_get_activation(wr, l),
-                jk_lb_get_state(wr, l));
+        if ((list_lb && jw->type == JK_LB_WORKER_TYPE) ||
+            (!list_lb && jw->type != JK_LB_WORKER_TYPE)) {
+            display_worker(s, p, jw, l);
+        }
+    }
 
-            jk_printf(s, " distance=\"%d\"", wr->s->distance);
-            jk_printf(s, " lbfactor=\"%d\"", wr->s->lb_factor);
-            jk_printf(s, " lbmult=\"%" JK_UINT64_T_FMT "\"", wr->s->lb_mult);
-            jk_printf(s, " lbvalue=\"%" JK_UINT64_T_FMT "\"", wr->s->lb_value);
-            jk_printf(s, " elected=\"%" JK_UINT64_T_FMT "\"", wr->s->elected);
-            jk_printf(s, " errors=\"%" JK_UINT32_T_FMT "\"", wr->s->errors);
-            jk_printf(s, " clienterrors=\"%" JK_UINT32_T_FMT "\"", wr->s->client_errors);
-            jk_printf(s, " transferred=\"%" JK_UINT64_T_FMT "\"", wr->s->transferred);
-            jk_printf(s, " readed=\"%" JK_UINT64_T_FMT "\"", wr->s->readed);
-            jk_printf(s, " busy=\"%u\"", wr->s->busy);
-            jk_printf(s, " maxbusy=\"%u\"", wr->s->max_busy);
-            if (wr->s->jvm_route && *wr->s->jvm_route)
-                jk_printf(s, " jvm_route=\"%s\"", wr->s->jvm_route);
-            if (wr->s->redirect && *wr->s->redirect)
-                jk_printf(s, " redirect=\"%s\"", wr->s->redirect);
-            if (wr->s->domain && *wr->s->domain)
-                jk_printf(s, " domain=\"%s\"", wr->s->domain);
-            jk_puts(s, " />\n");
+    if (list_lb) {
+        if (mime == JK_STATUS_MIME_XML) {
+            jk_print_xml_close_elt(s, w, 0, "balancers");
         }
-        dump_maps(s, sw, s->uw_map, lb->s->name, l);
-        jk_puts(s, "  </jk:balancer>\n");
+        else if (mime == JK_STATUS_MIME_TXT) {
+        }
+        else if (mime == JK_STATUS_MIME_PROP) {
+        }
+        else if (mime == JK_STATUS_MIME_HTML) {
+        }
+    }
+    else {
+        if (mime == JK_STATUS_MIME_XML) {
+            jk_print_xml_close_elt(s, w, 0, "ajp_workers");
+        }
+        else if (mime == JK_STATUS_MIME_TXT) {
+        }
+        else if (mime == JK_STATUS_MIME_PROP) {
+        }
+        else if (mime == JK_STATUS_MIME_HTML) {
+        }
+    }
 
+    JK_TRACE_EXIT(l);
+}
+
+static int list_workers(jk_ws_service_t *s,
+                        status_endpoint_t *p,
+                        jk_logger_t *l)
+{
+    int lb_cnt = 0;
+    int ajp_cnt = 0;
+
+    JK_TRACE_ENTER(l);
+    count_workers(s, p, &lb_cnt, &ajp_cnt, l);
+
+    if (lb_cnt) {
+        list_workers_type(s, p, 1, lb_cnt, l);
     }
-    if (has_lb)
-        jk_puts(s, "  </jk:balancers>\n");
 
+    if (ajp_cnt) {
+        list_workers_type(s, p, 0, ajp_cnt, l);
+    }
+
+    display_legend(s, p, l);
+
+    JK_TRACE_EXIT(l);
+    return JK_TRUE;
 }
 
-static void update_worker(jk_ws_service_t *s, status_worker_t *sw,
-                          const char *dworker, jk_logger_t *l)
+static int show_worker(jk_ws_service_t *s,
+                       status_endpoint_t *p,
+                       jk_logger_t *l)
 {
-    int i;
-    char buf[1024];
-    const char *b;
-    lb_worker_t *lb;
-    jk_worker_t *w = wc_get_worker_for_name(dworker, l);
+    const char *worker;
+    const char *sub_worker;
+    jk_worker_t *jw = NULL;
 
-    if (w && w->type == JK_LB_WORKER_TYPE) {
-        lb = (lb_worker_t *)w->worker_private;
-        i = status_int("lr", s->query_string, lb->s->retries);
-        if (i > 0)
-            lb->s->retries = i;
-        i = status_int("lt", s->query_string, lb->s->recover_wait_time);
-        if (i < 1)
-            i = 1;
-        lb->s->recover_wait_time = i;
-        lb->s->sticky_session = status_bool("ls", s->query_string);
-        lb->s->sticky_session_force = status_bool("lf", s->query_string);
+    JK_TRACE_ENTER(l);
+    fetch_worker_and_sub_worker(p, "showing", &worker, &sub_worker, l);
+    if (search_worker(s, p, &jw, worker, l) == JK_FALSE) {
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
     }
+    display_worker(s, p, jw, l);
+    display_legend(s, p, l);
+
+    JK_TRACE_EXIT(l);
+    return JK_TRUE;
+}
+
+static int edit_worker(jk_ws_service_t *s,
+                       status_endpoint_t *p,
+                       jk_logger_t *l)
+{
+    const char *worker;
+    const char *sub_worker;
+    jk_worker_t *jw = NULL;
+    status_worker_t *w = p->worker;
+
+    JK_TRACE_ENTER(l);
+    fetch_worker_and_sub_worker(p, "editing", &worker, &sub_worker, l);
+    if (search_worker(s, p, &jw, worker, l) == JK_FALSE) {
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
+    }
+
+    if (!sub_worker || !sub_worker[0]) {
+        const char *arg;
+
+        if (status_get_string(p, JK_STATUS_ARG_ATTRIBUTE,
+                              NULL, &arg, l) == JK_TRUE)
+            form_all_members(s, p, jw, arg, l);
+        else
+            form_worker(s, p, jw, l);
+    }
     else  {
-        int n = status_int("lb", s->query_string, -1);
         worker_record_t *wr = NULL;
-        ajp_worker_t *a;
-        if (n >= 0 && n < (int)sw->we->num_of_workers)
-            w = wc_get_worker_for_name(sw->we->worker_list[n], l);
-        else {
-            if (!(b = status_cmd("l", s->query_string, buf, sizeof(buf))))
-                return;
-            w = wc_get_worker_for_name(b, l);
+        if (jw->type != JK_LB_WORKER_TYPE) {
+            jk_log(l, JK_LOG_WARNING,
+                   "Status worker '%s' worker type not implemented",
+                   w->name);
+            JK_TRACE_EXIT(l);
+            return JK_FALSE;
         }
-        if (!w || w->type != JK_LB_WORKER_TYPE)
-            return;
-        lb = (lb_worker_t *)w->worker_private;
-        i = status_int("id", s->query_string, -1);
-        if (i >= 0 && i < (int)lb->num_of_workers)
-            wr = &(lb->lb_workers[i]);
-        else {
-            for (i = 0; i < (int)lb->num_of_workers; i++) {
-                if (strcmp(dworker, lb->lb_workers[i].s->name) == 0) {
-                    wr = &(lb->lb_workers[i]);
-                    break;
-                }
-            }
+        if(search_sub_worker(s, p, jw, worker, &wr, sub_worker, l) == JK_FALSE) {
+            JK_TRACE_EXIT(l);
+            return JK_FALSE;
         }
-        if (!wr)
-            return;
-        a  = (ajp_worker_t *)wr->w->worker_private;
+        form_member(s, p, wr, worker, l);
+    }
+    JK_TRACE_EXIT(l);
+    return JK_TRUE;
+}
 
-        if ((b = status_cmd("wr", s->query_string, buf, sizeof(buf))))
-            strncpy(wr->s->redirect, b, JK_SHM_STR_SIZ);
+static int update_worker(jk_ws_service_t *s,
+                         status_endpoint_t *p,
+                         jk_logger_t *l)
+{
+    const char *worker;
+    const char *sub_worker;
+    jk_worker_t *jw = NULL;
+
+    JK_TRACE_ENTER(l);
+    fetch_worker_and_sub_worker(p, "updating", &worker, &sub_worker, l);
+    if (search_worker(s, p, &jw, worker, l) == JK_FALSE) {
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
+    }
+
+    if (!sub_worker || !sub_worker[0]) {
+        const char *arg;
+
+        if (status_get_string(p, JK_STATUS_ARG_ATTRIBUTE,
+                              NULL, &arg, l) == JK_TRUE)
+            commit_all_members(s, p, jw, arg, l);
         else
-            memset(wr->s->redirect, 0, JK_SHM_STR_SIZ);
-        if ((b = status_cmd("wc", s->query_string, buf, sizeof(buf))))
-            strncpy(wr->s->domain, b, JK_SHM_STR_SIZ);
-        else
-            memset(wr->s->domain, 0, JK_SHM_STR_SIZ);
-        if ((b = status_cmd("wn", s->query_string, buf, sizeof(buf)))) {
-            if (strlen(b) > 0)
-                strncpy(wr->s->jvm_route, b, JK_SHM_STR_SIZ);
+            commit_worker(s, p, jw, l);
+    }
+    else  {
+        lb_worker_t *lb = NULL;
+        worker_record_t *wr = NULL;
+        int rc = 0;
+        if (check_valid_lb(s, p, jw, worker, &lb, 0, l) == JK_FALSE) {
+            JK_TRACE_EXIT(l);
+            return JK_FALSE;
         }
-        i = status_int("wa", s->query_string, wr->s->activation);
-        if (wr->s->activation != i && i>0 && i<= JK_LB_ACTIVATION_STOPPED) {
-            wr->s->activation = i;
-            reset_lb_values(lb, l);
-            jk_log(l, JK_LOG_INFO,
-                   "worker '%s' activation changed to '%s' via status worker",
-                   wr->s->name,
-                   jk_lb_get_activation(wr, l));
+        if(search_sub_worker(s, p, jw, worker, &wr, sub_worker, l) == JK_FALSE) {
+            JK_TRACE_EXIT(l);
+            return JK_FALSE;
         }
-        i = status_int("wx", s->query_string, wr->s->distance);
-        if (wr->s->distance != i) {
-            wr->s->distance = i;
+        rc = commit_member(s, p, wr, lb->s->name, l);
+        if (rc & 1)
             reset_lb_values(lb, l);
-        }
-        i = status_int("wf", s->query_string, wr->s->lb_factor);
-        if (i > 0 && wr->s->lb_factor != i) {
-            wr->s->lb_factor = i;
+        if (rc & 2)
             /* Recalculate the load multiplicators wrt. lb_factor */
             update_mult(lb, l);
-        }
     }
+    JK_TRACE_EXIT(l);
+    return JK_TRUE;
 }
 
-static void reset_worker(jk_ws_service_t *s, status_worker_t *sw,
-                         const char *dworker, jk_logger_t *l)
+static int reset_worker(jk_ws_service_t *s,
+                        status_endpoint_t *p,
+                        jk_logger_t *l)
 {
     unsigned int i;
-    lb_worker_t *lb;
-    jk_worker_t *w = wc_get_worker_for_name(dworker, l);
+    const char *worker;
+    const char *sub_worker;
+    jk_worker_t *jw = NULL;
+    lb_worker_t *lb = NULL;
+    worker_record_t *wr = NULL;
 
-    if (w && w->type == JK_LB_WORKER_TYPE) {
-        lb = (lb_worker_t *)w->worker_private;
+    JK_TRACE_ENTER(l);
+    fetch_worker_and_sub_worker(p, "resetting", &worker, &sub_worker, l);
+    if (search_worker(s, p, &jw, worker, l) == JK_FALSE) {
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
+    }
+    /* XXX Until now, we only have something to reset for lb workers or their members */
+    if (check_valid_lb(s, p, jw, worker, &lb, 0, l) == JK_FALSE) {
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
+    }
+
+    if (!sub_worker || !sub_worker[0]) {
+        lb->s->max_busy = 0;
         for (i = 0; i < lb->num_of_workers; i++) {
-            worker_record_t *wr = &(lb->lb_workers[i]);
-            wr->s->busy             = 0;
+            wr = &(lb->lb_workers[i]);
+            wr->s->client_errors    = 0;
             wr->s->elected          = 0;
+            wr->s->elected_snapshot = 0;
             wr->s->error_time       = 0;
             wr->s->errors           = 0;
             wr->s->lb_value         = 0;
             wr->s->max_busy         = 0;
+            wr->s->recoveries       = 0;
+            wr->s->recovery_errors  = 0;
             wr->s->readed           = 0;
             wr->s->transferred      = 0;
             wr->s->state            = JK_LB_STATE_NA;
         }
+        JK_TRACE_EXIT(l);
+        return JK_TRUE;
     }
+    else  {
+        if(search_sub_worker(s, p, jw, worker, &wr, sub_worker, l) == JK_FALSE) {
+            JK_TRACE_EXIT(l);
+            return JK_FALSE;
+        }
+        wr->s->client_errors    = 0;
+        wr->s->elected          = 0;
+        wr->s->elected_snapshot = 0;
+        wr->s->error_time       = 0;
+        wr->s->errors           = 0;
+        wr->s->lb_value         = 0;
+        wr->s->max_busy         = 0;
+        wr->s->recoveries       = 0;
+        wr->s->recovery_errors  = 0;
+        wr->s->readed           = 0;
+        wr->s->transferred      = 0;
+        wr->s->state            = JK_LB_STATE_NA;
+        JK_TRACE_EXIT(l);
+        return JK_TRUE;
+    }
+    JK_TRACE_EXIT(l);
+    return JK_FALSE;
 }
 
-static int status_cmd_type(const char *req)
+static int recover_worker(jk_ws_service_t *s,
+                          status_endpoint_t *p,
+                          jk_logger_t *l)
 {
-    if (!req)
-        return 0;
-    else if (!strncmp(req, "cmd=list", 8))
-        return 0;
-    else if (!strncmp(req, "cmd=show", 8))
-        return 1;
-    else if (!strncmp(req, "cmd=update", 10))
-        return 2;
-    else if (!strncmp(req, "cmd=reset", 9))
-        return 3;
-    else
-        return 0;
-}
+    const char *worker;
+    const char *sub_worker;
+    jk_worker_t *jw = NULL;
+    worker_record_t *wr = NULL;
+    status_worker_t *w = p->worker;
 
-static int status_mime_type(const char *req)
-{
-    int ret = 0 ;
-    if (req) {
-        char mimetype[32];
-        if (status_cmd("mime", req, mimetype, sizeof(mimetype)) != NULL) {
-            if (!strcmp(mimetype, "xml"))
-                ret = 1;
-            else if (!strcmp(mimetype, "txt"))
-                ret = 2;
-        }
+    JK_TRACE_ENTER(l);
+    fetch_worker_and_sub_worker(p, "recovering", &worker, &sub_worker, l);
+    if (search_worker(s, p, &jw, worker, l) == JK_FALSE) {
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
     }
-    return ret ;
+
+    if(search_sub_worker(s, p, jw, worker, &wr, sub_worker, l) == JK_FALSE) {
+        JK_TRACE_EXIT(l);
+        return JK_FALSE;
+    }
+
+    if (wr->s->state == JK_LB_STATE_ERROR) {
+        wr->s->state = JK_LB_STATE_RECOVER;
+        jk_log(l, JK_LOG_INFO,
+               "Status worker '%s' marked worker '%s' sub worker '%s' for recovery",
+               w->name, worker ? worker : "(null)", sub_worker ? sub_worker : "(null)");
+        JK_TRACE_EXIT(l);
+        return JK_TRUE;
+    }
+    jk_log(l, JK_LOG_WARNING,
+           "Status worker '%s' could not mark worker '%s' sub worker '%s' for recovery - state %s is not an error state",
+           w->name, worker ? worker : "(null)", sub_worker ? sub_worker : "(null)",
+           jk_lb_get_state(wr, l));
+    JK_TRACE_EXIT(l);
+    return JK_FALSE;
 }
 
 static int JK_METHOD service(jk_endpoint_t *e,
                              jk_ws_service_t *s,
-                             jk_logger_t *l, int *is_recoverable_error)
+                             jk_logger_t *l, int *is_error)
 {
-    char buf[128];
-    char *worker = NULL;
     int cmd;
     int mime;
+    int refresh;
+    int read_only = 0;
+    const char *arg;
+    char *err = NULL;
     status_endpoint_t *p;
+    status_worker_t *w;
+    int denied = 0;
 
     JK_TRACE_ENTER(l);
 
-    if (is_recoverable_error)
-        *is_recoverable_error = JK_FALSE;
-    if (!e || !e->endpoint_private || !s || !is_recoverable_error) {
+    if (is_error)
+        *is_error = JK_FALSE;
+    if (!e || !e->endpoint_private || !s || !is_error) {
         JK_LOG_NULL_PARAMS(l);
         JK_TRACE_EXIT(l);
         return JK_FALSE;
     }
 
     p = e->endpoint_private;
+    w = p->worker;
 
+    if (w->num_of_users) {
+        if (s->remote_user) {
+            unsigned int i;
+            denied = 1;
+            for (i = 0; i < w->num_of_users; i++) {
+                if (w->user_case_insensitive) {
+                    if (!strcasecmp(s->remote_user, w->user_names[i])) {
+                        denied = 0;
+                        break;
+                    }
+                }
+                else {
+                    if (!strcmp(s->remote_user, w->user_names[i])) {
+                        denied = 0;
+                        break;
+                    }
+                }
+            }
+        }
+        else {
+            denied = 2;
+        }
+    }
+
     /* Step 1: Process GET params and update configuration */
-    cmd = status_cmd_type(s->query_string);
-    mime = status_mime_type(s->query_string);
-    if (cmd > 0 && (status_cmd("w", s->query_string, buf, sizeof(buf)) != NULL))
-        worker = strdup(buf);
-    if ((cmd == 2) && worker) {
-        /* lock shared memory */
-        jk_shm_lock();
-        update_worker(s, p->s_worker, worker, l);
-        /* update modification time to reflect the current config */
-        jk_shm_set_workers_time(time(NULL));
-        /* Since we updated the config no need to reload
-         * on the next request
-         */
-        jk_shm_sync_access_time();
-        /* unlock the shared memory */
-        jk_shm_unlock();
+    if (status_parse_uri(s, p, l) != JK_TRUE) {
+        err = "Error during parsing of URI";
     }
-    else if ((cmd == 3) && worker) {
-        /* lock shared memory */
-        jk_shm_lock();
-        reset_worker(s, p->s_worker, worker, l);
-        /* update modification time to reflect the current config */
-        jk_shm_set_workers_time(time(NULL));
-        /* Since we updated the config no need to reload
-         * on the next request
-         */
-        jk_shm_sync_access_time();
-        /* unlock the shared memory */
-        jk_shm_unlock();
+    status_get_string(p, JK_STATUS_ARG_CMD, NULL, &arg, l);
+    cmd = status_cmd_int(arg);
+    status_get_string(p, JK_STATUS_ARG_MIME, NULL, &arg, l);
+    mime = status_mime_int(arg);
+    refresh = status_get_int(p, JK_STATUS_ARG_REFRESH, 0, l);
+    if (w->read_only) {
+        read_only = 1;
     }
-    if (mime == 0) {
-        int refresh = status_int("refresh", s->query_string, -1);
+    else {
+        read_only = status_get_int(p, JK_STATUS_ARG_OPTIONS, 0, l) &
+                    JK_STATUS_ARG_OPTION_READ_ONLY;
+    }
+
+    if (mime == JK_STATUS_MIME_HTML) {
         s->start_response(s, 200, "OK", headers_names, headers_vhtml, 3);
-        s->write(s, JK_STATUS_HEAD, sizeof(JK_STATUS_HEAD) - 1);
-        if (cmd > 1) {
-            jk_putv(s, "\n<meta http-equiv=\"Refresh\" content=\"0;url=",
-                      s->req_uri, "\">", NULL);
+        jk_puts(s, JK_STATUS_HEAD);
+    }
+    else if (mime == JK_STATUS_MIME_XML) {
+        s->start_response(s, 200, "OK", headers_names, headers_vxml, 3);
+        jk_puts(s, JK_STATUS_XMLH);
+        if (w->doctype) {
+            jk_putv(s, w->doctype, "\n", NULL);
         }
-        else if (cmd == 0 && refresh >= 0) {
-            jk_printf(s, "\n<meta http-equiv=\"Refresh\" content=\"%d;url=%s?%s\">",
-                      refresh, s->req_uri, s->query_string);
+        jk_print_xml_start_elt(s, w, 0, 0, "status");
+        if (w->xmlns && strlen(w->xmlns))
+            jk_putv(s, "  ", w->xmlns, NULL);
+        jk_print_xml_stop_elt(s, 0, 0);
+    }
+    else {
+        s->start_response(s, 200, "OK", headers_names, headers_vtxt, 3);
+    }
+
+    if (denied == 0) {
+        if (JK_IS_DEBUG_LEVEL(l))
+            jk_log(l, JK_LOG_DEBUG,
+                   "Status worker '%s' service allowed for user '%s' [%s] from %s [%s]",
+                   w->name,
+                   s->remote_user ? s->remote_user : "(null)",
+                   s->auth_type ? s->auth_type : "(null)",
+                   s->remote_addr ? s->remote_addr : "(null)",
+                   s->remote_host ? s->remote_host : "(null)");
+    }
+    else if (denied == 1) {
+        err = "Access denied.";
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' service denied for user '%s' [%s] from %s [%s]",
+               w->name,
+               s->remote_user ? s->remote_user : "(null)",
+               s->auth_type ? s->auth_type : "(null)",
+               s->remote_addr ? s->remote_addr : "(null)",
+               s->remote_host ? s->remote_host : "(null)");
+    }
+    else if (denied == 2) {
+        err = "Access denied.";
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' service denied (no user) [%s] from %s [%s]",
+               w->name,
+               s->remote_user ? s->remote_user : "(null)",
+               s->auth_type ? s->auth_type : "(null)",
+               s->remote_addr ? s->remote_addr : "(null)",
+               s->remote_host ? s->remote_host : "(null)");
+    }
+    else {
+        err = "Access denied.";
+        jk_log(l, JK_LOG_WARNING,
+               "Status worker '%s' service denied (unknown reason) for user '%s' [%s] from %s [%s]",
+               w->name,
+               s->remote_user ? s->remote_user : "(null)",
+               s->auth_type ? s->auth_type : "(null)",
+               s->remote_addr ? s->remote_addr : "(null)",
+               s->remote_host ? s->remote_host : "(null)");
+    }
+
+    if (!err) {
+        if (read_only &&
+            (cmd == JK_STATUS_CMD_EDIT ||
+            cmd == JK_STATUS_CMD_UPDATE ||
+            cmd == JK_STATUS_CMD_RESET ||
+            cmd == JK_STATUS_CMD_RECOVER)) {
+            err = "This command is not allowed in read only mode.";
         }
-        if (p->s_worker->css) {
-            jk_putv(s, "\n<link rel=\"stylesheet\" type=\"text/css\" href=\"",
-                    p->s_worker->css, "\" />\n", NULL);
+    }
+
+    if (!err) {
+        if (cmd == JK_STATUS_CMD_UNKNOWN) {
+            err = "Invalid command.";
         }
-        s->write(s, JK_STATUS_HEND, sizeof(JK_STATUS_HEND) - 1);
-        jk_printf(s, "<!-- TOMCAT_CONNECTOR_VER_%02d%02d%02d -->\n", JK_VERMAJOR, JK_VERMINOR, JK_VERFIX);
-        jk_printf(s, "<!-- TOMCAT_CONNECTOR_STR_%s -->\n", JK_EXPOSED_VERSION);
-        if ( cmd <= 1 ) {
-            jk_puts(s, "<h1>JK Status Manager for ");
-            jk_puts(s, s->server_name);
-            jk_puts(s, "</h1>\n\n");
-            jk_putv(s, "<dl><dt>Server Version:</dt><dd>",
-                    s->server_software, "</dd>\n", NULL);
-            jk_putv(s, "<dt>JK Version:</dt><dd>",
-                    JK_VERSTRING, "\n</dd></dl>\n", NULL);
+        else if (mime == JK_STATUS_MIME_UNKNOWN) {
+            err = "Invalid mime type.";
         }
-        if ( cmd == 0 ) {
-            if (refresh >= 0) {
-                const char *str = s->query_string;
-                char *buf = jk_pool_alloc(s->pool, sizeof(char *) * (strlen(str)+1));
-                int result = 0;
-                int scan = 0;
+        else if (cmd != JK_STATUS_CMD_LIST &&
+                 cmd != JK_STATUS_CMD_VERSION &&
+                 (check_worker(s, p, l) != JK_TRUE)) {
+            err = p->msg;
+        }
+    }
 
-                while (str[scan] != 0) {
-                    if (strncmp(&str[scan], "refresh=", strlen("refresh=")) == 0) {
-                        scan += strlen("refresh=");
-                        while (str[scan] != 0 && str[scan] != '&')
-                            scan++;
-                        if (str[scan] == '&')
-                            scan++;
+    if (!err) {
+        if (cmd == JK_STATUS_CMD_UPDATE) {
+            /* lock shared memory */
+            jk_shm_lock();
+            if (update_worker(s, p, l) == JK_FALSE) {
+                err = "Update failed";
+            }
+            /* unlock the shared memory */
+            jk_shm_unlock();
+            if (mime == JK_STATUS_MIME_HTML) {
+                jk_puts(s, "\n<meta http-equiv=\"Refresh\" content=\""
+                        JK_STATUS_WAIT_AFTER_UPDATE ";url=");
+                status_write_uri(s, p, NULL, JK_STATUS_CMD_UNKNOWN, JK_STATUS_MIME_UNKNOWN,
+                                 NULL, NULL, 0, 0, NULL, l);
+                jk_puts(s, "\">");
+                if (!err) {
+                    jk_putv(s, "<p><b>Result: OK - You will be redirected in "
+                            JK_STATUS_WAIT_AFTER_UPDATE " seconds.</b><p/>", NULL);
+                }
+            }
+        }
+        else if (cmd == JK_STATUS_CMD_RESET) {
+            /* lock shared memory */
+            jk_shm_lock();
+            if (reset_worker(s, p, l) == JK_FALSE) {
+                err = "Reset failed";
+            }
+            /* unlock the shared memory */
+            jk_shm_unlock();
+            if (mime == JK_STATUS_MIME_HTML) {
+                jk_puts(s, "\n<meta http-equiv=\"Refresh\" content=\""
+                        JK_STATUS_WAIT_AFTER_UPDATE ";url=");
+                status_write_uri(s, p, NULL, JK_STATUS_CMD_UNKNOWN, JK_STATUS_MIME_UNKNOWN,
+                                 NULL, NULL, 0, 0, NULL, l);
+                jk_puts(s, "\">");
+                if (!err) {
+                    jk_putv(s, "<p><b>Result: OK - You will be redirected in "
+                            JK_STATUS_WAIT_AFTER_UPDATE " seconds.</b><p/>", NULL);
+                }
+            }
+        }
+        else if (cmd == JK_STATUS_CMD_RECOVER) {
+            /* lock shared memory */
+            jk_shm_lock();
+            if (recover_worker(s, p, l) == JK_FALSE) {
+                err = "Marking worker for recovery failed";
+            }
+            /* unlock the shared memory */
+            jk_shm_unlock();
+            if (mime == JK_STATUS_MIME_HTML) {
+                jk_puts(s, "\n<meta http-equiv=\"Refresh\" content=\""
+                        JK_STATUS_WAIT_AFTER_UPDATE ";url=");
+                status_write_uri(s, p, NULL, JK_STATUS_CMD_UNKNOWN, JK_STATUS_MIME_UNKNOWN,
+                                 NULL, NULL, 0, 0, NULL, l);
+                jk_puts(s, "\">");
+                if (!err) {
+                    jk_putv(s, "<p><b>Result: OK - You will be redirected in "
+                            JK_STATUS_WAIT_AFTER_UPDATE " seconds.</b><p/>", NULL);
+                }
+            }
+        }
+        else {
+            if (mime == JK_STATUS_MIME_XML) {
+                jk_print_xml_start_elt(s, w, 0, 0, "server");
+                jk_print_xml_att_string(s, 2, "name", s->server_name);
+                jk_print_xml_att_int(s, 2, "port", s->server_port);
+                jk_print_xml_stop_elt(s, 0, 1);
+                if ((cmd == JK_STATUS_CMD_LIST) ||
+                    (cmd == JK_STATUS_CMD_SHOW) ||
+                    (cmd == JK_STATUS_CMD_VERSION)) {
+                    jk_print_xml_start_elt(s, w, 0, 0, "software");
+                    jk_print_xml_att_string(s, 2, "web_server", s->server_software);
+                    jk_print_xml_att_string(s, 2, "jk_version", JK_EXPOSED_VERSION);
+                    jk_print_xml_stop_elt(s, 0, 1);
+                }
+                if (cmd == JK_STATUS_CMD_LIST) {
+                    /* Step 2: Display configuration */
+                    if (list_workers(s, p, l) != JK_TRUE) {
+                        err = "Error in listing the workers.";
                     }
+                }
+                else if (cmd == JK_STATUS_CMD_SHOW) {
+                    /* Step 2: Display detailed configuration */
+                    if(show_worker(s, p, l) != JK_TRUE) {
+                        err = "Error in showing this worker.";
+                    }
+                }
+            }
+            else if (mime == JK_STATUS_MIME_TXT) {
+                jk_puts(s, "Server:");
+                jk_printf(s, " name=%s", s->server_name);
+                jk_printf(s, " port=%d", s->server_port);
+                jk_puts(s, "\n");
+                if ((cmd == JK_STATUS_CMD_LIST) ||
+                    (cmd == JK_STATUS_CMD_SHOW) ||
+                    (cmd == JK_STATUS_CMD_VERSION)) {
+                    jk_puts(s, "Software:");
+                    jk_printf(s, " web_server=\"%s\"", s->server_software);
+                    jk_printf(s, " jk_version=%s", JK_EXPOSED_VERSION);
+                    jk_puts(s, "\n");
+                }
+                if (cmd == JK_STATUS_CMD_LIST) {
+                    /* Step 2: Display configuration */
+                    if (list_workers(s, p, l) != JK_TRUE) {
+                        err = "Error in listing the workers.";
+                    }
+                }
+                else if (cmd == JK_STATUS_CMD_SHOW) {
+                    /* Step 2: Display detailed configuration */
+                    if(show_worker(s, p, l) != JK_TRUE) {
+                        err = "Error in showing this worker.";
+                    }
+                }
+            }
+            else if (mime == JK_STATUS_MIME_PROP) {
+                jk_print_prop_att_string(s, w, NULL, "server_name", s->server_name);
+                jk_print_prop_att_int(s, w, NULL, "server_port", s->server_port);
+                if ((cmd == JK_STATUS_CMD_LIST) ||
+                    (cmd == JK_STATUS_CMD_SHOW) ||
+                    (cmd == JK_STATUS_CMD_VERSION)) {
+                    jk_print_prop_att_string(s, w, NULL, "web_server", s->server_software);
+                    jk_print_prop_att_string(s, w, NULL, "jk_version", JK_EXPOSED_VERSION);
+                }
+                if (cmd == JK_STATUS_CMD_LIST) {
+                    /* Step 2: Display configuration */
+                    if (list_workers(s, p, l) != JK_TRUE) {
+                        err = "Error in listing the workers.";
+                    }
+                }
+                else if (cmd == JK_STATUS_CMD_SHOW) {
+                    /* Step 2: Display detailed configuration */
+                    if(show_worker(s, p, l) != JK_TRUE) {
+                        err = "Error in showing this worker.";
+                    }
+                }
+            }
+            else if (mime == JK_STATUS_MIME_HTML) {
+                if ((cmd == JK_STATUS_CMD_LIST ||
+                    cmd == JK_STATUS_CMD_SHOW) &&
+                    refresh > 0) {
+                    jk_printf(s, "\n<meta http-equiv=\"Refresh\" content=\"%d;url=%s?%s\">",
+                          refresh, s->req_uri, s->query_string);
+                }
+                if (w->css) {
+                    jk_putv(s, "\n<link rel=\"stylesheet\" type=\"text/css\" href=\"",
+                            w->css, "\" />\n", NULL);
+                }
+                jk_puts(s, JK_STATUS_HEND);
+                jk_puts(s, "<h1>JK Status Manager for ");
+                jk_puts(s, s->server_name);
+                jk_printf(s, ":%d", s->server_port);
+                if (read_only) {
+                    jk_puts(s, " (read only)");
+                }
+                jk_puts(s, "</h1>\n\n");
+                if ((cmd == JK_STATUS_CMD_LIST) ||
+                    (cmd == JK_STATUS_CMD_SHOW) ||
+                    (cmd == JK_STATUS_CMD_VERSION)) {
+                    jk_putv(s, "<table><tr><td>Server Version:</td><td>",
+                            s->server_software, "</td></tr>\n", NULL);
+                    jk_putv(s, "<tr><td>JK Version:</td><td>",
+                            JK_EXPOSED_VERSION, "</td></tr></table>\n", NULL);
+                    jk_puts(s, "<hr/>\n");
+                }
+                if (cmd == JK_STATUS_CMD_LIST ||
+                    cmd == JK_STATUS_CMD_SHOW) {
+                    if (refresh > 0) {
+                        const char *str = s->query_string;
+                        char *buf = jk_pool_alloc(s->pool, sizeof(char *) * (strlen(str)+1));
+                        int result = 0;
+                        size_t scan = 0;
+                        size_t len = strlen(JK_STATUS_ARG_REFRESH);
+
+                        while (str[scan] != '\0') {
+                            if (strncmp(&str[scan], JK_STATUS_ARG_REFRESH, len) == 0 &&
+                                str[scan+len] == '=') {
+                                scan += len + 1;
+                                while (str[scan] != '\0' && str[scan] != '&')
+                                    scan++;
+                                if (str[scan] == '&')
+                                    scan++;
+                            }
+                            else {
+                                if (result > 0 && str[scan] != '\0' && str[scan] != '&') {
+                                    buf[result] = '&';
+                                    result++;
+                                }
+                                while (str[scan] != '\0' && str[scan] != '&') {
+                                    buf[result] = str[scan];
+                                    result++;
+                                    scan++;
+                                }
+                                if (str[scan] == '&')
+                                    scan++;
+                            }
+                        }
+                        buf[result] = '\0';
+
+                        jk_putv(s, "[<a href=\"", s->req_uri, NULL);
+                        if (buf && buf[0])
+                            jk_putv(s, "?", buf, NULL);
+                        jk_puts(s, "\">Stop auto refresh</a>]&nbsp;&nbsp;");
+                    }
                     else {
-                        if (result > 0 && str[scan] != 0 && str[scan] != '&') {
-                            buf[result] = '&';
-                            result++;
+                        status_start_form(s, p, "GET", JK_STATUS_CMD_UNKNOWN, l);
+                        jk_puts(s, "<input type=\"submit\" value=\"Start auto refresh\"/>\n");
+                        jk_putv(s, "(every ",
+                                "<input name=\"", JK_STATUS_ARG_REFRESH,
+                                "\" type=\"text\" size=\"3\" value=\"",
+                                JK_STATUS_REFRESH_DEF "\"/> ",
+                                "seconds)", NULL);
+                        jk_puts(s, "</form>\n");
+                    }
+                }
+                if (cmd == JK_STATUS_CMD_SHOW ||
+                    cmd == JK_STATUS_CMD_EDIT ||
+                    cmd == JK_STATUS_CMD_VERSION) {
+                    int from;
+                    status_get_string(p, JK_STATUS_ARG_FROM, NULL, &arg, l);
+                    from = status_cmd_int(arg);
+                    jk_puts(s, "[");
+                    if (cmd == JK_STATUS_CMD_SHOW ||
+                        cmd == JK_STATUS_CMD_VERSION ||
+                        from == JK_STATUS_CMD_LIST) {
+                        status_write_uri(s, p, "Back to worker list", JK_STATUS_CMD_LIST, JK_STATUS_MIME_UNKNOWN,
+                                         "", "", 0, 0, "", l);
+                    }
+                    else {
+                        status_write_uri(s, p, "Back to worker view", JK_STATUS_CMD_SHOW, JK_STATUS_MIME_UNKNOWN,
+                                         NULL, NULL, 0, 0, "", l);
+                    }
+                    jk_puts(s, "]&nbsp;&nbsp;");
+                }
+                if (cmd == JK_STATUS_CMD_LIST ||
+                    cmd == JK_STATUS_CMD_SHOW ||
+                    cmd == JK_STATUS_CMD_VERSION) {
+                    jk_puts(s, "[Change&nbsp;Format: ");
+                    status_write_uri(s, p, "XML", 0, JK_STATUS_MIME_XML,
+                                     NULL, NULL, 0, 0, NULL, l);
+                    jk_puts(s, "&nbsp;|&nbsp;");
+                    status_write_uri(s, p, "Property", 0, JK_STATUS_MIME_PROP,
+                                     NULL, NULL, 0, 0, NULL, l);
+                    jk_puts(s, "&nbsp;|&nbsp;");
+                    status_write_uri(s, p, "Text", 0, JK_STATUS_MIME_TXT,
+                                     NULL, NULL, 0, 0, NULL, l);
+                    jk_puts(s, "]&nbsp;&nbsp;");
+                }
+                if (cmd == JK_STATUS_CMD_LIST || cmd == JK_STATUS_CMD_SHOW) {
+                    if (!w->read_only) {
+                        jk_puts(s, "[");
+                        if (read_only) {
+                            status_write_uri(s, p, "Read/Write", 0, JK_STATUS_MIME_UNKNOWN,
+                                             NULL, NULL, 0, JK_STATUS_ARG_OPTION_READ_ONLY, NULL, l);
                         }
-                        while (str[scan] != 0 && str[scan] != '&') {
-                            buf[result] = str[scan];
-                            result++;
-                            scan++;
+                        else {
+                            status_write_uri(s, p, "Read Only", 0, JK_STATUS_MIME_UNKNOWN,
+                                             NULL, NULL, JK_STATUS_ARG_OPTION_READ_ONLY, 0, NULL, l);
                         }
-                        if (str[scan] == '&')
-                            scan++;
+                        jk_puts(s, "]&nbsp;&nbsp;\n");
                     }
                 }
-                buf[result] = '\0';
-
-                jk_putv(s, "[<a href=\"", s->req_uri, NULL);
-                if (buf && buf[0])
-                    jk_putv(s, "?", buf, NULL);
-                jk_puts(s, "\">Stop auto refresh</a>]");
+                if (cmd == JK_STATUS_CMD_LIST || cmd == JK_STATUS_CMD_SHOW) {
+                    jk_puts(s, "[");
+                    if (cmd == JK_STATUS_CMD_LIST)
+                        jk_puts(s, "<b>S</b>=Show only this worker");
+                    if (!read_only && cmd == JK_STATUS_CMD_LIST)
+                        jk_puts(s, ", ");
+                    if (!read_only)
+                        jk_puts(s, "<b>E</b>=Edit worker, <b>R</b>=Reset worker state, <b>T</b>=Try worker recovery");
+                    jk_puts(s, "]\n");
+                }
+                if (cmd == JK_STATUS_CMD_LIST) {
+                    /* Step 2: Display configuration */
+                    if (list_workers(s, p, l) != JK_TRUE) {
+                        err = "Error in listing the workers.";
+                    }
+                }
+                else if (cmd == JK_STATUS_CMD_SHOW) {
+                    /* Step 2: Display detailed configuration */
+                    if(show_worker(s, p, l) != JK_TRUE) {
+                        err = "Error in showing this worker.";
+                    }
+                }
+                else if (cmd == JK_STATUS_CMD_EDIT) {
+                    /* Step 2: Display edit form */
+                    if(edit_worker(s, p, l) != JK_TRUE) {
+                        err = "Error in generating this worker's configuration form.";
+                    }
+                }
             }
-            else {
-                jk_putv(s, "<form method=\"GET\" action=\"",
-                        s->req_uri, NULL);
-                if (s->query_string && s->query_string[0])
-                    jk_putv(s, "?", s->query_string, NULL);
-                jk_puts(s, "\">\n");
-                jk_puts(s, "<input type=\"submit\" value=\"Start auto refresh\"/>\n");
-                jk_puts(s, "(interval "
-                        "<input name=\"refresh\" type=\"text\" size=\"3\" value=\"10\"/> "
-                        "seconds)\n");
-                jk_puts(s, "</form>\n");
-            }
         }
-        if ( cmd <= 1 ) {
-            /* Step 2: Display configuration */
-            display_workers(s, p->s_worker, worker, l);
+    }
+    if (err) {
+        jk_log(l, JK_LOG_WARNING, "Status worker '%s': %s", w->name, err);
+        if (mime == JK_STATUS_MIME_HTML) {
+            jk_putv(s, "<p><b>Result: ERROR - ", err, "</b><br/>", NULL);
+            jk_putv(s, "<a href=\"", s->req_uri, "\">JK Status Manager Start Page</a></p>", NULL);
         }
-
-        s->write(s, JK_STATUS_BEND, sizeof(JK_STATUS_BEND) - 1);
-
+        else if (mime == JK_STATUS_MIME_XML) {
+            jk_print_xml_start_elt(s, w, 2, 0, "result");
+            jk_print_xml_att_string(s, 4, "type", "ERROR");
+            jk_print_xml_att_string(s, 4, "message", err);
+            jk_print_xml_stop_elt(s, 2, 1);
+        }
+        else if (mime == JK_STATUS_MIME_TXT) {
+            jk_puts(s, "Result:");
+            jk_printf(s, " type=%s", "ERROR");
+            jk_printf(s, " message=\"%s\"", err);
+            jk_puts(s, "\n");
+        }
+        else {
+            jk_print_prop_att_string(s, w, "result", "type", "ERROR");
+            jk_print_prop_att_string(s, w, "result", "message", err);
+        }
     }
-    else if (mime == 1) {
-        s->start_response(s, 200, "OK", headers_names, headers_vxml, 3);
-        s->write(s, JK_STATUS_XMLH, sizeof(JK_STATUS_XMLH) - 1);
-        dump_config(s, p->s_worker, l);
-        s->write(s, JK_STATUS_XMLE, sizeof(JK_STATUS_XMLE) - 1);
-    }
     else {
-        s->start_response(s, 200, "OK", headers_names, headers_vtxt, 3);
-        s->write(s,  JK_STATUS_TEXTUPDATE_RESPONCE,
-                 sizeof(JK_STATUS_TEXTUPDATE_RESPONCE) - 1);
+        if (mime == JK_STATUS_MIME_HTML) {
+            jk_putv(s, "<p><a href=\"", s->req_uri, "\">JK Status Manager Start Page</a></p>", NULL);
+        }
+        else if (mime == JK_STATUS_MIME_XML) {
+            jk_print_xml_start_elt(s, w, 2, 0, "result");
+            jk_print_xml_att_string(s, 4, "type", "OK");
+            jk_print_xml_att_string(s, 4, "message", "Action finished");
+            jk_print_xml_stop_elt(s, 2, 1);
+        }
+        else if (mime == JK_STATUS_MIME_TXT) {
+            jk_puts(s, "Result:");
+            jk_printf(s, " type=%s", "OK");
+            jk_printf(s, " message=\"%s\"", "Action finished");
+            jk_puts(s, "\n");
+        }
+        else {
+            jk_print_prop_att_string(s, w, "result", "type", "OK");
+            jk_print_prop_att_string(s, w, "result", "message", "Action finished");
+        }
     }
-    if (worker)
-        free(worker);
+    if (mime == JK_STATUS_MIME_HTML) {
+        if (w->css) {
+            jk_putv(s, "<hr/><div class=\"footer\">", JK_STATUS_COPYRIGHT,
+                    "</div>\n", NULL);
+        }
+        else {
+            jk_putv(s, "<hr/><p align=\"center\"><small>", JK_STATUS_COPYRIGHT,
+                    "</small></p>\n", NULL);
+        }
+        jk_puts(s, JK_STATUS_BEND);
+    }
+    else if (mime == JK_STATUS_MIME_XML) {
+        jk_print_xml_close_elt(s, w, 0, "status");
+    }
     JK_TRACE_EXIT(l);
     return JK_TRUE;
 }
@@ -998,6 +3454,9 @@
     JK_TRACE_ENTER(l);
 
     if (e && *e && (*e)->endpoint_private) {
+        status_endpoint_t *p = (*e)->endpoint_private;
+
+        free(p);
         *e = NULL;
         JK_TRACE_EXIT(l);
         return JK_TRUE;
@@ -1026,16 +3485,93 @@
 
 static int JK_METHOD init(jk_worker_t *pThis,
                           jk_map_t *props,
-                          jk_worker_env_t *we, jk_logger_t *log)
+                          jk_worker_env_t *we, jk_logger_t *l)
 {
-    JK_TRACE_ENTER(log);
+    JK_TRACE_ENTER(l);
     if (pThis && pThis->worker_private) {
         status_worker_t *p = pThis->worker_private;
+        char **good_rating;
+        unsigned int num_of_good;
+        char **bad_rating;
+        unsigned int num_of_bad;
+        unsigned int i;
         p->we = we;
-        if (!jk_get_worker_str_prop(props, p->name, "css", &(p->css)))
-            p->css = NULL;
+        p->css = jk_get_worker_style_sheet(props, p->name, NULL);
+        p->prefix = jk_get_worker_prop_prefix(props, p->name, JK_STATUS_PREFIX_DEF);
+        p->ns = jk_get_worker_name_space(props, p->name, JK_STATUS_NS_DEF);
+        p->xmlns = jk_get_worker_xmlns(props, p->name, JK_STATUS_XMLNS_DEF);
+        p->doctype = jk_get_worker_xml_doctype(props, p->name, NULL);
+        p->read_only = jk_get_is_read_only(props, p->name);
+        p->user_case_insensitive = jk_get_worker_user_case_insensitive(props, p->name);
+        if (JK_IS_DEBUG_LEVEL(l))
+            jk_log(l, JK_LOG_DEBUG,
+                   "Status worker '%s' is %s and has css '%s', prefix '%s', name space '%s', xml name space '%s', document type '%s'",
+                   p->name,
+                   p->read_only ? "read-only" : "read/write",
+                   p->css ? p->css : "(null)",
+                   p->prefix ? p->prefix : "(null)",
+                   p->ns ? p->ns : "(null)",
+                   p->xmlns ? p->xmlns : "(null)",
+                   p->doctype ? p->doctype : "(null)");
+        if (jk_get_worker_user_list(props, p->name,
+                                    &(p->user_names),
+                                    &(p->num_of_users)) && p->num_of_users) {
+            for (i = 0; i < p->num_of_users; i++) {
+                if (JK_IS_DEBUG_LEVEL(l))
+                    jk_log(l, JK_LOG_DEBUG,
+                            "Status worker '%s' restricting access to user '%s' case %s",
+                            p->name, p->user_names[i],
+                            p->user_case_insensitive ? "insensitive" : "sensitive");
+            }
+        }
+        if (jk_get_worker_good_rating(props, p->name,
+                                      &good_rating,
+                                      &num_of_good) && num_of_good) {
+            p->good_mask = 0;
+            for (i = 0; i < num_of_good; i++) {
+                if (JK_IS_DEBUG_LEVEL(l))
+                    jk_log(l, JK_LOG_DEBUG,
+                            "Status worker '%s' rating as good: '%s'",
+                            p->name, good_rating[i]);
+                p->good_mask |= status_get_rating(good_rating[i], l);
+            }
+        }
+        else {
+            p->good_mask = JK_STATUS_MASK_GOOD_DEF;
+        }
+        if (jk_get_worker_bad_rating(props, p->name,
+                                      &bad_rating,
+                                      &num_of_bad) && num_of_bad) {
+            p->bad_mask = 0;
+            for (i = 0; i < num_of_bad; i++) {
+                if (JK_IS_DEBUG_LEVEL(l))
+                    jk_log(l, JK_LOG_DEBUG,
+                            "Status worker '%s' rating as bad: '%s'",
+                            p->name, bad_rating[i]);
+                p->bad_mask |= status_get_rating(bad_rating[i], l);
+            }
+        }
+        else {
+            p->bad_mask = JK_STATUS_MASK_BAD_DEF;
+        }
+        if (JK_IS_DEBUG_LEVEL(l))
+            jk_log(l, JK_LOG_DEBUG,
+                   "Status worker '%s' has good rating for '%08" JK_UINT32_T_HEX_FMT
+                   "' and bad rating for '%08" JK_UINT32_T_HEX_FMT "'",
+                   p->name,
+                   p->good_mask,
+                   p->bad_mask);
+        if (p->good_mask & p->bad_mask)
+            jk_log(l, JK_LOG_WARNING,
+                   "Status worker '%s' has non empty intersection '%08" JK_UINT32_T_HEX_FMT
+                   "' between good rating for '%08" JK_UINT32_T_HEX_FMT
+                   "' and bad rating for '%08" JK_UINT32_T_HEX_FMT "'",
+                   p->name,
+                   p->good_mask & p->bad_mask,
+                   p->good_mask,
+                   p->bad_mask);
     }
-    JK_TRACE_EXIT(log);
+    JK_TRACE_EXIT(l);
     return JK_TRUE;
 }
 
@@ -1045,8 +3581,15 @@
     JK_TRACE_ENTER(l);
 
     if (pThis && pThis->worker_private && pend) {
-        status_worker_t *p = (status_worker_t *)pThis->worker_private;
-        *pend = p->ep.e;
+        status_endpoint_t *p = (status_endpoint_t *) malloc(sizeof(status_endpoint_t));
+        p->worker = pThis->worker_private;
+        p->endpoint.endpoint_private = p;
+        p->endpoint.service = service;
+        p->endpoint.done = done;
+        p->req_params = NULL;
+        p->msg = NULL;
+        *pend = &p->endpoint;
+
         JK_TRACE_EXIT(l);
         return JK_TRUE;
     }
@@ -1099,12 +3642,6 @@
         private_data->worker.destroy = destroy;
         private_data->worker.retries = 1;
 
-        /* Status worker has single static endpoint. */
-        private_data->ep.endpoint.done = done;
-        private_data->ep.endpoint.service = service;
-        private_data->ep.endpoint.endpoint_private = &private_data->ep;
-        private_data->ep.e = &(private_data->ep.endpoint);
-        private_data->ep.s_worker = private_data;
         *w = &private_data->worker;
         JK_TRACE_EXIT(l);
         return JK_STATUS_WORKER_TYPE;

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_status.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_status.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_status.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Status worker header file                                  *
  * Author:      Mladen Turk <mturk at jboss.com>                              * 
- * Version:     $Revision: 300224 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 #ifndef JK_STATUS_H

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_types.h.in
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_types.h.in	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_types.h.in	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2006 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Platform specific, auto-detected types.                    *
  * Author:      Rainer Jung <rjung at apache.org>                             *
- * Version:     $Revision: 408166 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 #ifndef JK_TYPES_H

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_uri_worker_map.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_uri_worker_map.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_uri_worker_map.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
  *                                                                         *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  * Author:      Mladen Turk <mturk at apache.org>                             *
- * Version:     $Revision: 437379 $                                          *
+ * Version:     $Revision: 511845 $                                          *
  ***************************************************************************/
 
 #include "jk_pool.h"
@@ -37,6 +38,57 @@
 #endif
 
 
+static const char *uri_worker_map_source_type[] = {
+    "unknown",
+    SOURCE_TYPE_TEXT_WORKERDEF,
+    SOURCE_TYPE_TEXT_JKMOUNT,
+    SOURCE_TYPE_TEXT_URIMAP,
+    SOURCE_TYPE_TEXT_DISCOVER,
+    NULL
+};
+
+
+/* Return the string representation of the uwr source */
+const char *uri_worker_map_get_source(uri_worker_record_t *uwr, jk_logger_t *l)
+{
+    return uri_worker_map_source_type[uwr->source_type];
+}
+
+/* Return the string representation of the uwr match type */
+char *uri_worker_map_get_match(uri_worker_record_t *uwr, char *buf, jk_logger_t *l)
+{
+    unsigned int match;
+
+    buf[0] = '\0';
+    match = uwr->match_type;
+
+    if (match & MATCH_TYPE_DISABLED)
+        strcat(buf, "Disabled ");
+/* deprecated
+    if (match & MATCH_TYPE_STOPPED)
+        strcat(buf, "Stopped ");
+ */
+    if (match & MATCH_TYPE_NO_MATCH)
+        strcat(buf, "Unmount ");
+    if (match & MATCH_TYPE_EXACT)
+        strcat(buf, "Exact");
+    else if (match & MATCH_TYPE_WILDCHAR_PATH)
+        strcat(buf, "Wildchar");
+/* deprecated
+    else if (match & MATCH_TYPE_CONTEXT)
+        strcat(buf, "Context");
+    else if (match & MATCH_TYPE_CONTEXT_PATH)
+        strcat(buf, "Context Path");
+    else if (match & MATCH_TYPE_SUFFIX)
+        strcat(buf, "Suffix");
+    else if (match & MATCH_TYPE_GENERAL_SUFFIX)
+        return "General Suffix";
+ */
+    else
+        strcat(buf, "Unknown");
+    return buf;
+}
+
 /*
  * Given context uri, count the number of path tokens.
  *
@@ -78,7 +130,10 @@
     /* given the same number of URI tokens, use character
      * length as a tie breaker
      */
-    return ((int)e2->context_len - (int)e1->context_len);
+    if(e2->context_len != e1->context_len)
+        return ((int)e2->context_len - (int)e1->context_len);
+
+    return ((int)e2->source_type - (int)e1->source_type);
 }
 
 static void worker_qsort(jk_uri_worker_map_t *uw_map)
@@ -133,7 +188,7 @@
         JK_INIT_CS(&((*uw_map)->cs), rc);
         if (rc == JK_FALSE) {
             jk_log(l, JK_LOG_ERROR,
-                   "creating thread lock errno=%d",
+                   "creating thread lock (errno=%d)",
                    errno);
             JK_TRACE_EXIT(l);
             return JK_FALSE;
@@ -217,13 +272,45 @@
 }
 
 
+/*
+ * Delete all entries of a given source type
+ */
+
+int uri_worker_map_clear(jk_uri_worker_map_t *uw_map,
+                         unsigned int source_type, jk_logger_t *l)
+{
+    uri_worker_record_t *uwr = NULL;
+    unsigned int i;
+    unsigned int j;
+
+    JK_TRACE_ENTER(l);
+
+    for (i = 0; i < uw_map->size; i++) {
+        uwr = uw_map->maps[i];
+        if (uwr->source_type == source_type) {
+            jk_log(l, JK_LOG_DEBUG,
+                   "deleting map rule '%s=%s' source '%s'",
+                   uwr->context, uwr->worker_name, uri_worker_map_get_source(uwr, l));
+            for (j = i; j < uw_map->size-1; j++)
+                uw_map->maps[j] = uw_map->maps[j+1];
+            uw_map->size--;
+            i--;
+        }
+    }
+
+    JK_TRACE_EXIT(l);
+    return JK_TRUE;
+}
+
+
+
 int uri_worker_map_add(jk_uri_worker_map_t *uw_map,
-                       const char *puri, const char *worker, jk_logger_t *l)
+                       const char *puri, const char *worker,
+                       unsigned int source_type, jk_logger_t *l)
 {
     uri_worker_record_t *uwr = NULL;
     char *uri;
     unsigned int match_type = 0;
-    unsigned int i;
 
     JK_TRACE_ENTER(l);
 
@@ -240,32 +327,6 @@
         puri++;
     }
 
-    /* Find if duplicate entry */
-    for (i = 0; i < uw_map->size; i++) {
-        uwr = uw_map->maps[i];
-        if (strcmp(uwr->uri, puri) == 0) {
-            /* Update disabled flag */
-            if (match_type & MATCH_TYPE_DISABLED)
-                uwr->match_type |= MATCH_TYPE_DISABLED;
-            else
-                uwr->match_type &= ~MATCH_TYPE_DISABLED;
-            if (strcmp(uwr->worker_name, worker) == 0) {
-                jk_log(l, JK_LOG_DEBUG,
-                       "map rule %s=%s already exists",
-                       puri, worker);
-                JK_TRACE_EXIT(l);
-                return JK_TRUE;
-            }
-            else {
-                jk_log(l, JK_LOG_DEBUG,
-                       "changing map rule %s=%s ",
-                       puri, worker);
-                uwr->worker_name = jk_pool_strdup(&uw_map->p, worker);
-                JK_TRACE_EXIT(l);
-                return JK_TRUE;
-            }
-        }
-    }
     if (uri_worker_map_realloc(uw_map) == JK_FALSE) {
         JK_TRACE_EXIT(l);
         return JK_FALSE;
@@ -288,6 +349,11 @@
     }
 
     if (*uri == '/') {
+        uwr->uri = uri;
+        uwr->context = uri;
+        uwr->worker_name = jk_pool_strdup(&uw_map->p, worker);
+        uwr->context_len = strlen(uwr->context);
+        uwr->source_type = source_type;
         if (strchr(uri, '*') ||
             strchr(uri, '?')) {
             /* Something like
@@ -296,21 +362,17 @@
              */
             match_type |= MATCH_TYPE_WILDCHAR_PATH;
             jk_log(l, JK_LOG_DEBUG,
-                    "wildchar rule %s=%s was added",
-                    uri, worker);
+                   "wildchar rule '%s=%s' source '%s' was added",
+                   uwr->context, uwr->worker_name, uri_worker_map_get_source(uwr, l));
 
         }
         else {
             /* Something like:  JkMount /login/j_security_check ajp13 */
             match_type |= MATCH_TYPE_EXACT;
             jk_log(l, JK_LOG_DEBUG,
-                   "exact rule %s=%s was added",
-                   uri, worker);
+                   "exact rule '%s=%s' source '%s' was added",
+                   uwr->context, uwr->worker_name, uri_worker_map_get_source(uwr, l));
         }
-        uwr->uri = uri;
-        uwr->context = uri;
-        uwr->worker_name = jk_pool_strdup(&uw_map->p, worker);
-        uwr->context_len = strlen(uwr->context);
     }
     else {
         /*
@@ -320,7 +382,7 @@
          * not arrive here when using Apache.
          */
         jk_log(l, JK_LOG_ERROR,
-               "invalid context %s",
+               "invalid context '%s': does not begin with '/'",
                uri);
         JK_TRACE_EXIT(l);
         return JK_FALSE;
@@ -379,7 +441,7 @@
                     s = strchr(r, '|');
                     *(s++) = '\0';
                     /* Add first mapping */
-                    if (!uri_worker_map_add(uw_map, r, w, l)) {
+                    if (!uri_worker_map_add(uw_map, r, w, SOURCE_TYPE_JKMOUNT, l)) {
                         jk_log(l, JK_LOG_ERROR,
                         "invalid mapping rule %s->%s", r, w);
                         rc = JK_FALSE;
@@ -388,14 +450,14 @@
                         *(s - 1) = *s;
                     *(s - 1) = '\0';
                     /* add second mapping */
-                    if (!uri_worker_map_add(uw_map, r, w, l)) {
+                    if (!uri_worker_map_add(uw_map, r, w, SOURCE_TYPE_JKMOUNT, l)) {
                         jk_log(l, JK_LOG_ERROR,
                                "invalid mapping rule %s->%s", r, w);
                         rc = JK_FALSE;
                     }
                     free(r);
                 }
-                else if (!uri_worker_map_add(uw_map, u, w, l)) {
+                else if (!uri_worker_map_add(uw_map, u, w, SOURCE_TYPE_JKMOUNT, l)) {
                     jk_log(l, JK_LOG_ERROR,
                            "invalid mapping rule %s->%s",
                            u, w);
@@ -433,7 +495,7 @@
         if (!(uwr->match_type & MATCH_TYPE_NO_MATCH) ||
             (uwr->match_type & MATCH_TYPE_DISABLED))
             continue;
-        /* Check only mathing workers */
+        /* Check only matching workers */
         if (strcmp(uwr->worker_name, worker))
             continue;
         if (uwr->match_type & MATCH_TYPE_WILDCHAR_PATH) {
@@ -446,8 +508,8 @@
 #endif
                                ) == 0) {
                     jk_log(l, JK_LOG_DEBUG,
-                           "Found a no match %s -> %s",
-                           uwr->worker_name, uwr->context);
+                           "Found a wildchar no match '%s=%s' source '%s'",
+                           uwr->context, uwr->worker_name, uri_worker_map_get_source(uwr, l));
                     JK_TRACE_EXIT(l);
                     return JK_TRUE;
              }
@@ -456,8 +518,8 @@
             if (strlen(uri) == uwr->context_len) {
                 if (JK_IS_DEBUG_LEVEL(l))
                     jk_log(l, JK_LOG_DEBUG,
-                            "Found an exact no match %s -> %s",
-                            uwr->worker_name, uwr->context);
+                           "Found an exact no match '%s=%s' source '%s'",
+                           uwr->context, uwr->worker_name, uri_worker_map_get_source(uwr, l));
                 JK_TRACE_EXIT(l);
                 return JK_TRUE;
             }
@@ -473,7 +535,6 @@
                               const char *uri, jk_logger_t *l)
 {
     unsigned int i;
-    char *url_rewrite;
     const char *rv = NULL;
     char  url[JK_MAX_URI_LEN+1];
 
@@ -490,28 +551,43 @@
         JK_TRACE_EXIT(l);
         return NULL;
     }
-    for (i = 0; i < strlen(uri); i++) 
+    if (uw_map->fname) {
+        uri_worker_map_update(uw_map, l);
+        if (!uw_map->size) {
+            jk_log(l, JK_LOG_INFO,
+                   "No worker maps defined for %s.",
+                   uw_map->fname);
+            JK_TRACE_EXIT(l);
+            return NULL;
+        }
+    }
+    /* Make the copy of the provided uri and strip
+     * everything after the first ';' char.
+     */
+    for (i = 0; i < strlen(uri); i++) {
+        if (i == JK_MAX_URI_LEN) {
+            jk_log(l, JK_LOG_WARNING,
+                   "Uri %s is invalid. Uri must be smaller then %d chars",
+                   uri, JK_MAX_URI_LEN);
+            JK_TRACE_EXIT(l);
+            return NULL;
+        }
         if (uri[i] == ';')
             break;
         else
             url[i] = uri[i];
+    }
     url[i] = '\0';
-    
-    url_rewrite = strstr(uri, JK_PATH_SESSION_IDENTIFIER);
-    if (url_rewrite) {
-        size_t len = url_rewrite - url;
-        if (len > JK_MAX_URI_LEN)
-            len = JK_MAX_URI_LEN;
-        url[len] = '\0';
-        if (JK_IS_DEBUG_LEVEL(l))
-            jk_log(l, JK_LOG_DEBUG, "Removing Session path '%s' URI '%s'",
-                   url_rewrite, url);
+
+    if (JK_IS_DEBUG_LEVEL(l)) {
+        char *url_rewrite = strstr(uri, JK_PATH_SESSION_IDENTIFIER);
+        if (url_rewrite)
+            jk_log(l, JK_LOG_DEBUG, "separating session identifier '%s' from url '%s'",
+                   url_rewrite, uri);
     }
-    if (uw_map->fname)
-        uri_worker_map_update(uw_map, l);
     if (JK_IS_DEBUG_LEVEL(l))
         jk_log(l, JK_LOG_DEBUG, "Attempting to map URI '%s' from %d maps",
-               uri, uw_map->size);
+               url, uw_map->size);
 
     for (i = 0; i < uw_map->size; i++) {
         uri_worker_record_t *uwr = uw_map->maps[i];
@@ -522,7 +598,8 @@
             continue;
 
         if (JK_IS_DEBUG_LEVEL(l))
-            jk_log(l, JK_LOG_DEBUG, "Attempting to map context URI '%s'", uwr->uri);
+            jk_log(l, JK_LOG_DEBUG, "Attempting to map context URI '%s=%s' source '%s'",
+                   uwr->context, uwr->worker_name, uri_worker_map_get_source(uwr, l));
 
         if (uwr->match_type & MATCH_TYPE_WILDCHAR_PATH) {
             const char *wname;
@@ -537,8 +614,8 @@
                     wname = uwr->worker_name;
                     if (JK_IS_DEBUG_LEVEL(l))
                         jk_log(l, JK_LOG_DEBUG,
-                               "Found a wildchar match %s -> %s",
-                               uwr->worker_name, uwr->context);
+                               "Found a wildchar match '%s=%s'",
+                               uwr->context, uwr->worker_name);
                     JK_TRACE_EXIT(l);
                     rv = wname;
                     goto cleanup;
@@ -548,8 +625,8 @@
             if (strlen(url) == uwr->context_len) {
                 if (JK_IS_DEBUG_LEVEL(l))
                     jk_log(l, JK_LOG_DEBUG,
-                           "Found an exact match %s -> %s",
-                           uwr->worker_name, uwr->context);
+                           "Found an exact match '%s=%s'",
+                           uwr->context, uwr->worker_name);
                 JK_TRACE_EXIT(l);
                 rv = uwr->worker_name;
                 goto cleanup;
@@ -580,8 +657,13 @@
 
     jk_map_alloc(&map);
     if (jk_map_read_properties(map, uw_map->fname,
-                               &uw_map->modified, l)) {
+                               &uw_map->modified, 0, l)) {
         int i;
+        if (JK_IS_DEBUG_LEVEL(l))
+            jk_log(l, JK_LOG_DEBUG,
+                   "Loading urimaps from %s with reload check interval %d seconds",
+                   uw_map->fname, uw_map->reload);
+        uri_worker_map_clear(uw_map, SOURCE_TYPE_URIMAP, l);
         for (i = 0; i < jk_map_size(map); i++) {
             const char *u = jk_map_name_at(map, i);
             const char *w = jk_map_value_at(map, i);
@@ -597,7 +679,7 @@
                 s = strchr(r, '|');
                 *(s++) = '\0';
                 /* Add first mapping */
-                if (!uri_worker_map_add(uw_map, r, w, l)) {
+                if (!uri_worker_map_add(uw_map, r, w, SOURCE_TYPE_URIMAP, l)) {
                     jk_log(l, JK_LOG_ERROR,
                     "invalid mapping rule %s->%s", r, w);
                 }
@@ -605,13 +687,13 @@
                    *(s - 1) = *s;
                 *(s - 1) = '\0';
                 /* add second mapping */
-                if (!uri_worker_map_add(uw_map, r, w, l)) {
+                if (!uri_worker_map_add(uw_map, r, w, SOURCE_TYPE_URIMAP, l)) {
                     jk_log(l, JK_LOG_ERROR,
                     "invalid mapping rule %s->%s", r, w);
                 }
                 free(r);
             }
-            else if (!uri_worker_map_add(uw_map, u, w, l)) {
+            else if (!uri_worker_map_add(uw_map, u, w, SOURCE_TYPE_URIMAP, l)) {
                 jk_log(l, JK_LOG_ERROR,
                        "invalid mapping rule %s->%s",
                        u, w);
@@ -630,17 +712,30 @@
     int rc = JK_TRUE;
     time_t now = time(NULL);
 
-    if ((now - uw_map->checked) > JK_URIMAP_RELOAD) {
+    if (uw_map->reload > 0 && difftime(now, uw_map->checked) > uw_map->reload) {
         struct stat statbuf;
         uw_map->checked = now;
-        if ((rc = stat(uw_map->fname, &statbuf)) == -1)
+        if ((rc = stat(uw_map->fname, &statbuf)) == -1) {
+            jk_log(l, JK_LOG_ERROR,
+                   "Unable to stat the %s (errno=%d)",
+                   uw_map->fname, errno);
             return JK_FALSE;
-        if (statbuf.st_mtime == uw_map->modified)
+        }
+        if (statbuf.st_mtime == uw_map->modified) {
+            if (JK_IS_DEBUG_LEVEL(l))
+                jk_log(l, JK_LOG_DEBUG,
+                       "File %s  is not modified",
+                       uw_map->fname);
             return JK_TRUE;
+        }
         JK_ENTER_CS(&(uw_map->cs), rc);
         /* Check if some other thread updated status */
         if (statbuf.st_mtime == uw_map->modified) {
             JK_LEAVE_CS(&(uw_map->cs), rc);
+            if (JK_IS_DEBUG_LEVEL(l))
+                jk_log(l, JK_LOG_DEBUG,
+                       "File %s  is not modified",
+                       uw_map->fname);
             return JK_TRUE;
         }
         rc = uri_worker_map_load(uw_map, l);
@@ -648,6 +743,5 @@
         jk_log(l, JK_LOG_INFO,
                "Reloaded urimaps from %s", uw_map->fname);
     }
-    return rc;
+    return JK_TRUE;
 }
-

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_uri_worker_map.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_uri_worker_map.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_uri_worker_map.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: URI to worker mapper header file                           *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 405672 $                                           *
+ * Version:     $Revision: 479601 $                                           *
  ***************************************************************************/
 
 #ifndef JK_URI_WORKER_MAP_H
@@ -34,23 +35,38 @@
 #include "jk_logger.h"
 #include "jk_mt.h"
 
-/* Urimap reload time. Use 60 seconds by default.
- */
-#define JK_URIMAP_RELOAD            60
-
 #define MATCH_TYPE_EXACT            0x0001
+/* deprecated
 #define MATCH_TYPE_CONTEXT          0x0002
+ */
 /* match all context path URIs with a path component suffix */
+/* deprecated
 #define MATCH_TYPE_CONTEXT_PATH     0x0004
+ */
+/* deprecated
 #define MATCH_TYPE_SUFFIX           0x0010
+ */
 /* match all URIs of the form *ext */
+/* deprecated
 #define MATCH_TYPE_GENERAL_SUFFIX   0x0020
+ */
 /* match multiple wild characters (*) and (?) */
 #define MATCH_TYPE_WILDCHAR_PATH    0x0040
 #define MATCH_TYPE_NO_MATCH         0x1000
 #define MATCH_TYPE_DISABLED         0x2000
+/* deprecated
 #define MATCH_TYPE_STOPPED          0x4000
+ */
 
+#define SOURCE_TYPE_WORKERDEF       0x0001
+#define SOURCE_TYPE_JKMOUNT         0x0002
+#define SOURCE_TYPE_URIMAP          0x0003
+#define SOURCE_TYPE_DISCOVER        0x0004
+#define SOURCE_TYPE_TEXT_WORKERDEF  ("worker definition")
+#define SOURCE_TYPE_TEXT_JKMOUNT    ("JkMount")
+#define SOURCE_TYPE_TEXT_URIMAP     ("uriworkermap")
+#define SOURCE_TYPE_TEXT_DISCOVER   ("ajp14")
+
 #define JK_MAX_URI_LEN              4095
 struct uri_worker_record
 {
@@ -66,6 +82,9 @@
     /* Match type */
     unsigned int match_type;
 
+    /* Definition source type */
+    unsigned int source_type;
+
     /* char length of the context */
     size_t context_len;
 };
@@ -94,6 +113,8 @@
     JK_CRIT_SEC cs;
     /* uriworkermap filename */
     const char *fname;    
+    /* uriworkermap reload check interval */
+    int reload;    
     /* Last modified time */
     time_t  modified;
     /* Last checked time */
@@ -101,6 +122,10 @@
 };
 typedef struct jk_uri_worker_map jk_uri_worker_map_t;
 
+const char *uri_worker_map_get_source(uri_worker_record_t *uwr, jk_logger_t *l);
+
+char *uri_worker_map_get_match(uri_worker_record_t *uwr, char *buf, jk_logger_t *l);
+
 int uri_worker_map_alloc(jk_uri_worker_map_t **uw_map,
                          jk_map_t *init_data, jk_logger_t *l);
 
@@ -110,7 +135,8 @@
                         jk_map_t *init_data, jk_logger_t *l);
 
 int uri_worker_map_add(jk_uri_worker_map_t *uw_map,
-                       const char *puri, const char *pworker, jk_logger_t *l);
+                       const char *puri, const char *worker,
+                       unsigned int source_type, jk_logger_t *l);
 
 const char *map_uri_to_worker(jk_uri_worker_map_t *uw_map,
                               const char *uri, jk_logger_t *l);

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_util.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_util.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_util.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
  * Author:      Rainer Jung <rjung at apache.org>                             *
- * Version:     $Revision: 440635 $                                          *
+ * Version:     $Revision: 511326 $                                          *
  ***************************************************************************/
 
 
@@ -64,7 +65,8 @@
 #define BALANCE_WORKERS             ("balance_workers")
 #define STICKY_SESSION              ("sticky_session")
 #define STICKY_SESSION_FORCE        ("sticky_session_force")
-#define JVM_ROUTE_OF_WORKER         ("jvm_route")
+#define JVM_ROUTE_OF_WORKER_DEPRECATED ("jvm_route")
+#define ROUTE_OF_WORKER             ("route")
 #define DOMAIN_OF_WORKER            ("domain")
 #define REDIRECT_OF_WORKER          ("redirect")
 #define MOUNT_OF_WORKER             ("mount")
@@ -75,15 +77,28 @@
 #define ACTIVATION_OF_WORKER        ("activation")
 #define WORKER_RECOVER_TIME         ("recover_time")
 #define WORKER_MAX_PACKET_SIZE      ("max_packet_size")
+#define STYLE_SHEET_OF_WORKER       ("css")
+#define NAMESPACE_OF_WORKER         ("ns")
+#define XML_NAMESPACE_OF_WORKER     ("xmlns")
+#define XML_DOCTYPE_OF_WORKER       ("doctype")
+#define PROP_PREFIX_OF_WORKER       ("prefix")
 
+#define READ_ONLY_OF_WORKER         ("read_only")
+#define USER_OF_WORKER              ("user")
+#define USER_CASE_OF_WORKER         ("user_case_insensitive")
+#define GOOD_RATING_OF_WORKER       ("good")
+#define BAD_RATING_OF_WORKER        ("bad")
 
 #define DEFAULT_WORKER_TYPE         JK_AJP13_WORKER_NAME
 #define SECRET_KEY_OF_WORKER        ("secretkey")
 #define RETRIES_OF_WORKER           ("retries")
+#define STATUS_FAIL_OF_WORKER       ("fail_on_status")
 
 #define DEFAULT_WORKER              JK_AJP13_WORKER_NAME
 #define WORKER_LIST_PROPERTY_NAME     ("worker.list")
+#define LIST_PROPERTY_NAME            ("list")
 #define WORKER_MAINTAIN_PROPERTY_NAME ("worker.maintain")
+#define MAINTAIN_PROPERTY_NAME        ("maintain")
 #define DEFAULT_MAINTAIN_TIME       (60)
 #define DEFAULT_LB_FACTOR           (1)
 #define DEFAULT_DISTANCE            (0)
@@ -122,6 +137,9 @@
 static const char *list_properties[] = {
     BALANCE_WORKERS,
     MOUNT_OF_WORKER,
+    USER_OF_WORKER,
+    GOOD_RATING_OF_WORKER,
+    BAD_RATING_OF_WORKER,
     "list",
     NULL
 };
@@ -147,7 +165,8 @@
     LOAD_FACTOR_OF_WORKER,
     STICKY_SESSION,
     STICKY_SESSION_FORCE,
-    JVM_ROUTE_OF_WORKER,
+    JVM_ROUTE_OF_WORKER_DEPRECATED,
+    ROUTE_OF_WORKER,
     DOMAIN_OF_WORKER,
     REDIRECT_OF_WORKER,
     METHOD_OF_WORKER,
@@ -157,8 +176,16 @@
     ACTIVATION_OF_WORKER,
     WORKER_RECOVER_TIME,
     WORKER_MAX_PACKET_SIZE,
+    STYLE_SHEET_OF_WORKER,
+    READ_ONLY_OF_WORKER,
     RETRIES_OF_WORKER,
     WORKER_MAINTAIN_PROPERTY_NAME,
+    NAMESPACE_OF_WORKER,
+    XML_NAMESPACE_OF_WORKER,
+    XML_DOCTYPE_OF_WORKER,
+    PROP_PREFIX_OF_WORKER,
+    STATUS_FAIL_OF_WORKER,
+    USER_CASE_OF_WORKER,
     NULL
 };
 
@@ -178,11 +205,76 @@
     CACHE_TIMEOUT_DEPRECATED,
     RECYCLE_TIMEOUT_DEPRECATED,
     BALANCED_WORKERS_DEPRECATED,
+    JVM_ROUTE_OF_WORKER_DEPRECATED,
     IS_WORKER_DISABLED_DEPRECATED,
     IS_WORKER_STOPPED_DEPRECATED,
     NULL
 };
 
+static const char *supported_properties[] = {
+    SYSPROPS_OF_WORKER,
+    STDERR_OF_WORKER,
+    STDOUT_OF_WORKER,
+    SECRET_OF_WORKER,
+    MX_OF_WORKER,
+    MS_OF_WORKER,
+    CP_OF_WORKER,
+    BRIDGE_OF_WORKER,
+    JVM_OF_WORKER,
+    LIBPATH_OF_WORKER,
+    CMD_LINE_OF_WORKER,
+    NATIVE_LIB_OF_WORKER,
+    HOST_OF_WORKER,
+    PORT_OF_WORKER,
+    TYPE_OF_WORKER,
+    CACHE_OF_WORKER_DEPRECATED,
+    CACHE_OF_WORKER,
+    CACHE_OF_WORKER_MIN,
+    CACHE_TIMEOUT_DEPRECATED,
+    CACHE_TIMEOUT_OF_WORKER,
+    RECOVERY_OPTS_OF_WORKER,
+    CONNECT_TIMEOUT_OF_WORKER,
+    PREPOST_TIMEOUT_OF_WORKER,
+    REPLY_TIMEOUT_OF_WORKER,
+    SOCKET_TIMEOUT_OF_WORKER,
+    SOCKET_BUFFER_OF_WORKER,
+    SOCKET_KEEPALIVE_OF_WORKER,
+    RECYCLE_TIMEOUT_DEPRECATED,
+    LOAD_FACTOR_OF_WORKER,
+    DISTANCE_OF_WORKER,
+    BALANCED_WORKERS_DEPRECATED,
+    BALANCE_WORKERS,
+    STICKY_SESSION,
+    STICKY_SESSION_FORCE,
+    JVM_ROUTE_OF_WORKER_DEPRECATED,
+    ROUTE_OF_WORKER,
+    DOMAIN_OF_WORKER,
+    REDIRECT_OF_WORKER,
+    MOUNT_OF_WORKER,
+    METHOD_OF_WORKER,
+    LOCK_OF_WORKER,
+    IS_WORKER_DISABLED_DEPRECATED,
+    IS_WORKER_STOPPED_DEPRECATED,
+    ACTIVATION_OF_WORKER,
+    WORKER_RECOVER_TIME,
+    WORKER_MAX_PACKET_SIZE,
+    STYLE_SHEET_OF_WORKER,
+    NAMESPACE_OF_WORKER,
+    XML_NAMESPACE_OF_WORKER,
+    XML_DOCTYPE_OF_WORKER,
+    PROP_PREFIX_OF_WORKER,
+    READ_ONLY_OF_WORKER,
+    USER_OF_WORKER,
+    USER_CASE_OF_WORKER,
+    GOOD_RATING_OF_WORKER,
+    BAD_RATING_OF_WORKER,
+    SECRET_KEY_OF_WORKER,
+    RETRIES_OF_WORKER,
+    STATUS_FAIL_OF_WORKER,
+    LIST_PROPERTY_NAME,
+    MAINTAIN_PROPERTY_NAME
+};
+
 /* All entries need to have fixed length 8 chars! */
 static const char *jk_level_verbs[] = {
     "[" JK_LOG_TRACE_VERB "] ",
@@ -194,8 +286,34 @@
     NULL
 };
 
-const char *jk_log_fmt = JK_TIME_FORMAT;
+const char *jk_get_bool(int v)
+{
+    if (v == 0)
+        return "False";
+    else
+        return "True";
+}
 
+int jk_get_bool_code(const char *v, int def)
+{
+    if (!v) {
+        return def;
+    }
+    else if (!strcasecmp(v, "off") ||
+             *v == 'F' || *v == 'f' ||
+             *v == 'N' || *v == 'n' ||
+             *v == '0') {
+        return 0;
+    }
+    else if (!strcasecmp(v, "on") ||
+             *v == 'T' || *v == 't' ||
+             *v == 'Y' || *v == 'y' ||
+             *v == '1') {
+        return 1;
+    }
+    return def;
+}
+
 /* Sleep for 100ms */
 void jk_sleep(int ms)
 {
@@ -215,13 +333,15 @@
 #endif
 }
 
-static int set_time_str(char *str, int len)
+static int set_time_str(char *str, int len, const char *jk_log_fmt)
 {
     time_t t = time(NULL);
     struct tm *tms;
 
     tms = localtime(&t);
-    return (int)strftime(str, len, jk_log_fmt, tms);
+    if (jk_log_fmt)
+        return (int)strftime(str, len, jk_log_fmt, tms);
+    return (int)strftime(str, len, JK_TIME_FORMAT, tms);
 }
 
 /* Write at most n characters to the buffer in str, return the
@@ -321,6 +441,7 @@
         if (rc && p) {
             rc->log = log_to_file;
             rc->level = level;
+            rc->log_fmt = NULL;
             rc->logger_private = p;
 #ifdef AS400
             p->logfile = fopen(file, "a+, o_ccsid=0");
@@ -367,7 +488,11 @@
 {
     int rc = 0;
     /* Need to reserve space for newline and terminating zero byte. */
+#ifdef WIN32
+    static int usable_size = HUGE_BUFFER_SIZE-3;
+#else
     static int usable_size = HUGE_BUFFER_SIZE-2;
+#endif
     if (!l || !file || !fmt) {
         return -1;
     }
@@ -396,7 +521,7 @@
         if (NULL == buf)
             return -1;
 #endif
-        used = set_time_str(buf, usable_size);
+        used = set_time_str(buf, usable_size, l->log_fmt);
 
         if (line) {
             /* Log [pid:threadid] for all levels except REQUEST. */
@@ -449,6 +574,9 @@
         } else {
             used = usable_size;
         }
+#ifdef WIN32
+        buf[used++] = '\r';
+#endif
         buf[used] = '\n';
         buf[used+1] = 0;
         va_end(args);
@@ -472,13 +600,20 @@
     return jk_map_get_string(m, buf, DEFAULT_WORKER_TYPE);
 }
 
-const char *jk_get_worker_jvm_route(jk_map_t *m, const char *wname, const char *def)
+const char *jk_get_worker_route(jk_map_t *m, const char *wname, const char *def)
 {
     char buf[1024];
+    const char *v;
     if (!m || !wname) {
         return NULL;
     }
-    MAKE_WORKER_PARAM(JVM_ROUTE_OF_WORKER);
+    MAKE_WORKER_PARAM(ROUTE_OF_WORKER);
+    v = jk_map_get_string(m, buf, NULL);
+    if (v) {
+        return v;
+    }
+    /* Try old jvm_route directive */
+    MAKE_WORKER_PARAM(JVM_ROUTE_OF_WORKER_DEPRECATED);
     return jk_map_get_string(m, buf, def);
 }
 
@@ -780,19 +915,19 @@
     return jk_map_get_string(m, buf, NULL);
 }
 
-int jk_get_worker_list(jk_map_t *m, char ***list, unsigned *num_of_wokers)
+int jk_get_worker_list(jk_map_t *m, char ***list, unsigned *num_of_workers)
 {
-    if (m && list && num_of_wokers) {
+    if (m && list && num_of_workers) {
         char **ar = jk_map_get_string_list(m,
                                         WORKER_LIST_PROPERTY_NAME,
-                                        num_of_wokers,
+                                        num_of_workers,
                                         DEFAULT_WORKER);
         if (ar) {
             *list = ar;
             return JK_TRUE;
         }
         *list = NULL;
-        *num_of_wokers = 0;
+        *num_of_workers = 0;
     }
 
     return JK_FALSE;
@@ -837,28 +972,16 @@
     MAKE_WORKER_PARAM(ACTIVATION_OF_WORKER);
     v = jk_map_get_string(m, buf, NULL);
     if (v) {
-        if (*v == 'a' || *v == 'A')
-            return JK_LB_ACTIVATION_ACTIVE;
-        else if (*v == 's' || *v == 'S')
-            return JK_LB_ACTIVATION_STOPPED;
-        else if (*v == 'd' || *v == 'D')
-            return JK_LB_ACTIVATION_DISABLED;
-        else
-            return JK_LB_ACTIVATION_ACTIVE;
+        return jk_lb_get_activation_code(v);
     }
     else if (jk_get_is_worker_stopped(m, wname))
         return JK_LB_ACTIVATION_STOPPED;
     else if (jk_get_is_worker_disabled(m, wname))
         return JK_LB_ACTIVATION_DISABLED;
     else
-        return JK_LB_ACTIVATION_ACTIVE;
+        return JK_LB_ACTIVATION_DEF;
 }
 
-void jk_set_log_format(const char *logformat)
-{
-    jk_log_fmt = (logformat) ? logformat : JK_TIME_FORMAT;
-}
-
 int jk_get_lb_factor(jk_map_t *m, const char *wname)
 {
     char buf[1024];
@@ -923,16 +1046,7 @@
 
     MAKE_WORKER_PARAM(METHOD_OF_WORKER);
     v = jk_map_get_string(m, buf, NULL);
-    if (!v)
-        return JK_LB_METHOD_DEF;
-    else if  (*v == 't' || *v == 'T' || *v == '1')
-        return JK_LB_METHOD_TRAFFIC;
-    else if  (*v == 'r' || *v == 'R' || *v == '0')
-        return JK_LB_METHOD_REQUESTS;
-    else if  (*v == 'b' || *v == 'B' || *v == '2')
-        return JK_LB_METHOD_BUSYNESS;
-    else
-        return JK_LB_METHOD_DEF;
+    return jk_lb_get_method_code(v);
 }
 
 int jk_get_lb_lock(jk_map_t *m, const char *wname)
@@ -945,14 +1059,7 @@
 
     MAKE_WORKER_PARAM(LOCK_OF_WORKER);
     v = jk_map_get_string(m, buf, NULL);
-    if (!v)
-        return JK_LB_LOCK_DEF;
-    else if  (*v == 'o' || *v == 'O' || *v == '0')
-        return JK_LB_LOCK_OPTIMISTIC;
-    else if  (*v == 'p' || *v == 'P' || *v == '1')
-        return JK_LB_LOCK_PESSIMISTIC;
-    else
-        return JK_LB_LOCK_DEF;
+    return jk_lb_get_lock_code(v);
 }
 
 int jk_get_max_packet_size(jk_map_t *m, const char *wname)
@@ -964,41 +1071,212 @@
         return DEF_BUFFER_SZ;
     }
 
-    MAKE_WORKER_PARAM(DISTANCE_OF_WORKER);
+    MAKE_WORKER_PARAM(WORKER_MAX_PACKET_SIZE);
     sz = jk_map_get_int(m, buf, DEF_BUFFER_SZ);
     sz = JK_ALIGN(sz, 1024);
     if (sz < DEF_BUFFER_SZ)
         sz = DEF_BUFFER_SZ;
     else if (sz > 64*1024)
         sz = 64*1024;
-    
+
     return sz;
 }
 
+int jk_get_worker_fail_on_status(jk_map_t *m, const char *wname)
+{
+    char buf[1024];
+
+    if (!m || !wname) {
+        return 0;
+    }
+
+    MAKE_WORKER_PARAM(STATUS_FAIL_OF_WORKER);
+    return jk_map_get_int(m, buf, 0);
+
+}
+
+int jk_get_worker_user_case_insensitive(jk_map_t *m, const char *wname)
+{
+    int rc = JK_FALSE;
+    char buf[1024];
+    if (m && wname) {
+        int value;
+        MAKE_WORKER_PARAM(USER_CASE_OF_WORKER);
+        value = jk_map_get_bool(m, buf, 0);
+        if (value)
+            rc = JK_TRUE;
+    }
+    return rc;
+
+}
+
+const char *jk_get_worker_style_sheet(jk_map_t *m, const char *wname, const char *def)
+{
+    char buf[1024];
+
+    if (!m || !wname) {
+        return NULL;
+    }
+
+    MAKE_WORKER_PARAM(STYLE_SHEET_OF_WORKER);
+
+    return jk_map_get_string(m, buf, def);
+}
+
+const char *jk_get_worker_name_space(jk_map_t *m, const char *wname, const char *def)
+{
+    const char *rc;
+    char buf[1024];
+    if (!m || !wname) {
+        return NULL;
+    }
+    MAKE_WORKER_PARAM(NAMESPACE_OF_WORKER);
+    rc = jk_map_get_string(m, buf, def);
+    if (*rc == '-')
+        return "";
+    else
+        return rc;
+}
+
+const char *jk_get_worker_xmlns(jk_map_t *m, const char *wname, const char *def)
+{
+    const char *rc;
+    char buf[1024];
+    if (!m || !wname) {
+        return NULL;
+    }
+    MAKE_WORKER_PARAM(XML_NAMESPACE_OF_WORKER);
+    rc = jk_map_get_string(m, buf, def);
+    if (*rc == '-')
+        return "";
+    else
+        return rc;
+}
+
+const char *jk_get_worker_xml_doctype(jk_map_t *m, const char *wname, const char *def)
+{
+    char buf[1024];
+    if (!m || !wname) {
+        return NULL;
+    }
+    MAKE_WORKER_PARAM(XML_DOCTYPE_OF_WORKER);
+    return jk_map_get_string(m, buf, def);
+}
+
+const char *jk_get_worker_prop_prefix(jk_map_t *m, const char *wname, const char *def)
+{
+    char buf[1024];
+    if (!m || !wname) {
+        return NULL;
+    }
+    MAKE_WORKER_PARAM(PROP_PREFIX_OF_WORKER);
+    return jk_map_get_string(m, buf, def);
+}
+
+int jk_get_is_read_only(jk_map_t *m, const char *wname)
+{
+    int rc = JK_FALSE;
+    char buf[1024];
+    if (m && wname) {
+        int value;
+        MAKE_WORKER_PARAM(READ_ONLY_OF_WORKER);
+        value = jk_map_get_bool(m, buf, 0);
+        if (value)
+            rc = JK_TRUE;
+    }
+    return rc;
+}
+
+int jk_get_worker_user_list(jk_map_t *m,
+                            const char *wname,
+                            char ***list, unsigned int *num)
+{
+    char buf[1024];
+
+    if (m && list && num && wname) {
+        char **ar = NULL;
+
+        MAKE_WORKER_PARAM(USER_OF_WORKER);
+        ar = jk_map_get_string_list(m, buf, num, NULL);
+        if (ar) {
+            *list = ar;
+            return JK_TRUE;
+        }
+        *list = NULL;
+        *num = 0;
+    }
+
+    return JK_FALSE;
+}
+
+int jk_get_worker_good_rating(jk_map_t *m,
+                              const char *wname,
+                              char ***list, unsigned int *num)
+{
+    char buf[1024];
+
+    if (m && list && num && wname) {
+        char **ar = NULL;
+
+        MAKE_WORKER_PARAM(GOOD_RATING_OF_WORKER);
+        ar = jk_map_get_string_list(m, buf, num, NULL);
+        if (ar) {
+            *list = ar;
+            return JK_TRUE;
+        }
+        *list = NULL;
+        *num = 0;
+    }
+
+    return JK_FALSE;
+}
+
+int jk_get_worker_bad_rating(jk_map_t *m,
+                             const char *wname,
+                             char ***list, unsigned int *num)
+{
+    char buf[1024];
+
+    if (m && list && num && wname) {
+        char **ar = NULL;
+
+        MAKE_WORKER_PARAM(BAD_RATING_OF_WORKER);
+        ar = jk_map_get_string_list(m, buf, num, NULL);
+        if (ar) {
+            *list = ar;
+            return JK_TRUE;
+        }
+        *list = NULL;
+        *num = 0;
+    }
+
+    return JK_FALSE;
+}
+
 int jk_get_lb_worker_list(jk_map_t *m,
                           const char *wname,
-                          char ***list, unsigned int *num_of_wokers)
+                          char ***list, unsigned int *num_of_workers)
 {
     char buf[1024];
 
-    if (m && list && num_of_wokers && wname) {
+    if (m && list && num_of_workers && wname) {
         char **ar = NULL;
 
         MAKE_WORKER_PARAM(BALANCE_WORKERS);
-        ar = jk_map_get_string_list(m, buf, num_of_wokers, NULL);
+        ar = jk_map_get_string_list(m, buf, num_of_workers, NULL);
         if (ar) {
             *list = ar;
             return JK_TRUE;
         }
         /* Try old balanced_workers directive */
         MAKE_WORKER_PARAM(BALANCED_WORKERS_DEPRECATED);
-        ar = jk_map_get_string_list(m, buf, num_of_wokers, NULL);
+        ar = jk_map_get_string_list(m, buf, num_of_workers, NULL);
         if (ar) {
             *list = ar;
             return JK_TRUE;
         }
         *list = NULL;
-        *num_of_wokers = 0;
+        *num_of_workers = 0;
     }
 
     return JK_FALSE;
@@ -1242,7 +1520,25 @@
     }
     return JK_FALSE;
 }
+/*
+ * Check that property is a valid one (to prevent user typos).
+ * Only property starting with worker.
+ */
+int jk_is_valid_property(const char *prp_name)
+{
+    const char **props;
+    if (memcmp(prp_name, "worker.", 7))
+        return JK_TRUE;
 
+    props = &supported_properties[0];
+    while (*props) {
+        if (jk_is_some_property(prp_name, *props, "."))
+            return JK_TRUE;
+        props++;
+    }
+    return JK_FALSE;
+}
+
 int jk_get_worker_stdout(jk_map_t *m, const char *wname, const char **stdout_name)
 {
     char buf[1024];
@@ -1407,7 +1703,7 @@
     s->attributes_names = NULL;
     s->attributes_values = NULL;
     s->num_attributes = 0;
-    s->jvm_route = NULL;
+    s->route = NULL;
     s->retries = JK_RETRIES;
     s->add_log_items = NULL;
 }

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_util.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_util.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_util.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
  * Author:      Rainer Jung <rjung at apache.org>                             *
- * Version:     $Revision: 439824 $                                          *
+ * Version:     $Revision: 511527 $                                          *
  ***************************************************************************/
 #ifndef _JK_UTIL_H
 #define _JK_UTIL_H
@@ -32,6 +33,10 @@
 
 #define JK_SLEEP_DEF     (100)
 
+const char *jk_get_bool(int v);
+
+int jk_get_bool_code(const char *v, int def);
+
 void jk_sleep(int ms);
 
 int jk_parse_log_level(const char *level);
@@ -81,7 +86,7 @@
 
 int jk_get_worker_recover_timeout(jk_map_t *m, const char *wname, int def);
 
-const char *jk_get_worker_jvm_route(jk_map_t *m, const char *wname, const char *def);
+const char *jk_get_worker_route(jk_map_t *m, const char *wname, const char *def);
 
 const char *jk_get_worker_domain(jk_map_t *m, const char *wname, const char *def);
 
@@ -97,10 +102,8 @@
 
 int jk_get_worker_activation(jk_map_t *m, const char *wname);
 
-void jk_set_log_format(const char *logformat);
+int jk_get_worker_list(jk_map_t *m, char ***list, unsigned *num_of_workers);
 
-int jk_get_worker_list(jk_map_t *m, char ***list, unsigned *num_of_wokers);
-
 int jk_get_lb_factor(jk_map_t *m, const char *wname);
 
 int jk_get_distance(jk_map_t *m, const char *wname);
@@ -115,7 +118,7 @@
 
 int jk_get_lb_worker_list(jk_map_t *m,
                           const char *lb_wname,
-                          char ***list, unsigned int *num_of_wokers);
+                          char ***list, unsigned int *num_of_workers);
 int jk_get_worker_mount_list(jk_map_t *m,
                              const char *wname,
                              char ***list, unsigned int *num_of_maps);
@@ -149,6 +152,8 @@
 
 int jk_is_deprecated_property(const char *prp_name);
 
+int jk_is_valid_property(const char *prp_name);
+
 int jk_get_worker_stdout(jk_map_t *m, const char *wname, const char **stdout_name);
 
 int jk_get_worker_stderr(jk_map_t *m, const char *wname, const char **stderr_name);
@@ -170,6 +175,34 @@
 
 int jk_get_max_packet_size(jk_map_t *m, const char *wname);
 
+const char *jk_get_worker_style_sheet(jk_map_t *m, const char *wname, const char *def);
+
+int jk_get_is_read_only(jk_map_t *m, const char *wname);
+
+int jk_get_worker_user_list(jk_map_t *m,
+                            const char *wname,
+                            char ***list, unsigned int *num);
+
+int jk_get_worker_good_rating(jk_map_t *m,
+                              const char *wname,
+                              char ***list, unsigned int *num);
+
+int jk_get_worker_bad_rating(jk_map_t *m,
+                             const char *wname,
+                             char ***list, unsigned int *num);
+
+const char *jk_get_worker_name_space(jk_map_t *m, const char *wname, const char *def);
+
+const char *jk_get_worker_xmlns(jk_map_t *m, const char *wname, const char *def);
+
+const char *jk_get_worker_xml_doctype(jk_map_t *m, const char *wname, const char *def);
+
+const char *jk_get_worker_prop_prefix(jk_map_t *m, const char *wname, const char *def);
+
+int jk_get_worker_fail_on_status(jk_map_t *m, const char *wname);
+
+int jk_get_worker_user_case_insensitive(jk_map_t *m, const char *wname);
+
 #define TC32_BRIDGE_TYPE    32
 #define TC33_BRIDGE_TYPE    33
 #define TC40_BRIDGE_TYPE    40

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_version.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_version.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_version.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 
 /***************************************************************************
  * Description: JK version header file                                     *
- * Version:     $Revision: 424104 $                                           *
+ * Version:     $Revision: 513747 $                                           *
  ***************************************************************************/
 
 #ifndef __JK_VERSION_H
@@ -25,8 +26,8 @@
 /************** START OF AREA TO MODIFY BEFORE RELEASING *************/
 #define JK_VERMAJOR     1
 #define JK_VERMINOR     2
-#define JK_VERFIX       19
-#define JK_VERSTRING    "1.2.19"
+#define JK_VERFIX       22
+#define JK_VERSTRING    "1.2.22"
 
 /* Beta number */
 #define JK_VERBETA      0

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_worker.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_worker.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_worker.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
  * Description: Workers controller                                         *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 434119 $                                          *
+ * Version:     $Revision: 500805 $                                          *
  ***************************************************************************/
 
 #define _PLACE_WORKER_LIST_HERE
@@ -55,7 +56,7 @@
     JK_INIT_CS(&worker_lock, rc);
     if (rc == JK_FALSE) {
         jk_log(l, JK_LOG_ERROR,
-                "creating thread lock errno=%d",
+                "creating thread lock (errno=%d)",
                 errno);
         JK_TRACE_EXIT(l);
         return JK_FALSE;
@@ -70,6 +71,8 @@
     }
 
     worker_maintain_time = jk_get_worker_maintain_time(init_data);
+    if(worker_maintain_time < 0)
+        worker_maintain_time = 0;
 
     if (!build_worker_map(init_data, we->worker_list,
                           we->num_of_workers, we, l)) {
@@ -178,7 +181,7 @@
                             "mounting %s to worker %s",
                             map_names[i], name);
                 if (uri_worker_map_add(we->uri_to_worker, map_names[i],
-                                       name, l) == JK_FALSE) {
+                                       name, SOURCE_TYPE_WORKERDEF, l) == JK_FALSE) {
                     w->destroy(&w, l);
                     jk_log(l, JK_LOG_ERROR,
                            "validate failed for %s", name);

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_worker.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_worker.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_worker.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Workers controller header file                             *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 434119 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 #ifndef JK_WORKER_H

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_worker_list.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_worker_list.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/jk_worker_list.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
  * Description: Worker list                                                *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  * Author:      Henri Gomez <hgomez at apache.org>                            *
- * Version:     $Revision: 300224 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 /*

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/common/portable.h.sample
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/common/portable.h.sample	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/common/portable.h.sample	2007-05-21 10:51:24 UTC (rev 3531)
@@ -29,6 +29,9 @@
 /* Define to 1 if you have the <string.h> header file. */
 #define HAVE_STRING_H 1
 
+/* Define to 1 if you have the <sys/filio.h> header file. */
+#define HAVE_SYS_FILIO_H 1
+
 /* Define to 1 if you have the <sys/stat.h> header file. */
 #define HAVE_SYS_STAT_H 1
 
@@ -59,25 +62,25 @@
 /* Define to the version of this package. */
 #define PACKAGE_VERSION ""
 
-/* The size of a `char', as computed by sizeof. */
+/* The size of `char', as computed by sizeof. */
 #define SIZEOF_CHAR 1
 
-/* The size of a `int', as computed by sizeof. */
+/* The size of `int', as computed by sizeof. */
 #define SIZEOF_INT 4
 
-/* The size of a `long', as computed by sizeof. */
+/* The size of `long', as computed by sizeof. */
 #define SIZEOF_LONG 4
 
-/* The size of a `longlong', as computed by sizeof. */
+/* The size of `longlong', as computed by sizeof. */
 #define SIZEOF_LONGLONG 0
 
-/* The size of a `long double', as computed by sizeof. */
+/* The size of `long double', as computed by sizeof. */
 #define SIZEOF_LONG_DOUBLE 16
 
-/* The size of a `long long', as computed by sizeof. */
+/* The size of `long long', as computed by sizeof. */
 #define SIZEOF_LONG_LONG 8
 
-/* The size of a `short', as computed by sizeof. */
+/* The size of `short', as computed by sizeof. */
 #define SIZEOF_SHORT 2
 
 /* Define to 1 if you have the ANSI C header files. */
@@ -90,4 +93,4 @@
 #define USE_SO_SNDTIMEO 1
 
 /* Version number of package */
-#define VERSION "1.2.19"
+#define VERSION "1.2.22"

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/configure.in
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/configure.in	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/configure.in	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,7 +1,7 @@
 dnl
 dnl Process this file with autoconf to produce a configure script
 dnl
-AC_REVISION($Id: configure.in 439843 2006-09-03 21:04:47Z rjung $)dnl
+AC_REVISION($Id: configure.in 513780 2007-03-02 14:25:46Z jfclere $)dnl
 
 AC_PREREQ(2.13)
 AC_INIT(common/jk_worker.h)
@@ -11,7 +11,7 @@
 
 dnl package and version. (synchronization with common/jk_version.h ?)
 PACKAGE=mod_jk
-VERSION=1.2.19
+VERSION=1.2.22
 
 AM_INIT_AUTOMAKE(${PACKAGE}, ${VERSION})
 
@@ -328,10 +328,26 @@
 [
 	AC_MSG_RESULT(no apache given)
 ])
+
 AC_SUBST(apache_include)
 APACHE_DIR=${apache_dir}
 AC_SUBST(APACHE_DIR)
 
+AC_ARG_ENABLE(netscape,
+[  --enable-netscape=DIR  Build Netscape/iPlanet/SunONE nsapi redirector plugin.],
+[
+    if ${TEST} ! -z "$WEBSERVER" ; then
+        AC_MSG_ERROR([Sorry cannot use --with-apxs=${APXS} or --with-apache=${withval} with --with-netscape, please choose one or the other.])
+    fi
+
+    WEBSERVER="netscape"
+
+    AC_MSG_RESULT([building connector for \"$WEBSERVER\"])
+],
+[
+	AC_MSG_RESULT(no netscape given)
+])
+
 dnl Check for enable-jni
 JK_JNI_WORKER=""
 AC_ARG_ENABLE(jni,

Added: branches/tomcat5.5/upstream/current/connectors/jk/native/iis/Makefile.amd64
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/iis/Makefile.amd64	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/iis/Makefile.amd64	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,257 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on isapi.dsp
+# Use Platform SDK:
+# SetEnv.cmd /X64 /RETAIL
+# nmake -f Makefile.amd64
+#
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE 
+NULL=nul
+!ENDIF 
+
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+OUTDIR=.\Release_amd64
+INTDIR=.\Release_amd64
+# Begin Custom Macros
+OutDir=.\Release_amd64
+# End Custom Macros
+
+ALL : "$(OUTDIR)\isapi_redirect.dll"
+
+
+CLEAN :
+	- at erase "$(INTDIR)\isapi_redirector_src.idb"
+	- at erase "$(INTDIR)\isapi_redirector_src.pdb"
+	- at erase "$(INTDIR)\jk_ajp12_worker.obj"
+	- at erase "$(INTDIR)\jk_ajp13.obj"
+	- at erase "$(INTDIR)\jk_ajp13_worker.obj"
+	- at erase "$(INTDIR)\jk_ajp14.obj"
+	- at erase "$(INTDIR)\jk_ajp14_worker.obj"
+	- at erase "$(INTDIR)\jk_ajp_common.obj"
+	- at erase "$(INTDIR)\jk_connect.obj"
+	- at erase "$(INTDIR)\jk_context.obj"
+	- at erase "$(INTDIR)\jk_isapi_plugin.obj"
+	- at erase "$(INTDIR)\jk_jni_worker.obj"
+	- at erase "$(INTDIR)\jk_lb_worker.obj"
+	- at erase "$(INTDIR)\jk_map.obj"
+	- at erase "$(INTDIR)\jk_md5.obj"
+	- at erase "$(INTDIR)\jk_msg_buff.obj"
+	- at erase "$(INTDIR)\jk_nwmain.obj"
+	- at erase "$(INTDIR)\jk_pool.obj"
+	- at erase "$(INTDIR)\jk_shm.obj"
+	- at erase "$(INTDIR)\jk_sockbuf.obj"
+	- at erase "$(INTDIR)\jk_status.obj"
+	- at erase "$(INTDIR)\jk_uri_worker_map.obj"
+	- at erase "$(INTDIR)\jk_util.obj"
+	- at erase "$(INTDIR)\jk_worker.obj"
+	- at erase "$(OUTDIR)\isapi_redirect.dll"
+	- at erase "$(OUTDIR)\isapi_redirect.exp"
+	- at erase "$(OUTDIR)\isapi_redirect.lib"
+	- at erase "$(OUTDIR)\isapi_redirect.pdb"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\isapi.bsc" 
+BSC32_SBRS= \
+	
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib mswsock.lib bufferoverflowu.lib strsafe.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\isapi_redirect.pdb" /debug /machine:AMD64 /def:".\isapi.def" /out:"$(OUTDIR)\isapi_redirect.dll" /implib:"$(OUTDIR)\isapi_redirect.lib" 
+DEF_FILE= \
+	".\isapi.def"
+LINK32_OBJS= \
+	"$(INTDIR)\jk_ajp12_worker.obj" \
+	"$(INTDIR)\jk_ajp13.obj" \
+	"$(INTDIR)\jk_ajp13_worker.obj" \
+	"$(INTDIR)\jk_ajp14.obj" \
+	"$(INTDIR)\jk_ajp14_worker.obj" \
+	"$(INTDIR)\jk_ajp_common.obj" \
+	"$(INTDIR)\jk_connect.obj" \
+	"$(INTDIR)\jk_context.obj" \
+	"$(INTDIR)\jk_isapi_plugin.obj" \
+	"$(INTDIR)\jk_jni_worker.obj" \
+	"$(INTDIR)\jk_lb_worker.obj" \
+	"$(INTDIR)\jk_map.obj" \
+	"$(INTDIR)\jk_md5.obj" \
+	"$(INTDIR)\jk_msg_buff.obj" \
+	"$(INTDIR)\jk_nwmain.obj" \
+	"$(INTDIR)\jk_pool.obj" \
+	"$(INTDIR)\jk_shm.obj" \
+	"$(INTDIR)\jk_sockbuf.obj" \
+	"$(INTDIR)\jk_status.obj" \
+	"$(INTDIR)\jk_uri_worker_map.obj" \
+	"$(INTDIR)\jk_util.obj" \
+	"$(INTDIR)\jk_worker.obj"
+
+"$(OUTDIR)\isapi_redirect.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+    $(LINK32) @<<
+  $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\common" /I "$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AMD64_=1" -DWIN64 /D "_WIN64" /Wp64 /FIPRE64PRA.H /D "ISAPI_EXPORTS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\isapi_redirector_src" /FD /c 
+
+.c{$(INTDIR)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cpp{$(INTDIR)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cxx{$(INTDIR)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.c{$(INTDIR)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cpp{$(INTDIR)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cxx{$(INTDIR)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 
+
+SOURCE=..\common\jk_ajp12_worker.c
+
+"$(INTDIR)\jk_ajp12_worker.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_ajp13.c
+
+"$(INTDIR)\jk_ajp13.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_ajp13_worker.c
+
+"$(INTDIR)\jk_ajp13_worker.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_ajp14.c
+
+"$(INTDIR)\jk_ajp14.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_ajp14_worker.c
+
+"$(INTDIR)\jk_ajp14_worker.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_ajp_common.c
+
+"$(INTDIR)\jk_ajp_common.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_connect.c
+
+"$(INTDIR)\jk_connect.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_context.c
+
+"$(INTDIR)\jk_context.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\jk_isapi_plugin.c
+
+"$(INTDIR)\jk_isapi_plugin.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=..\common\jk_jni_worker.c
+
+"$(INTDIR)\jk_jni_worker.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_lb_worker.c
+
+"$(INTDIR)\jk_lb_worker.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_map.c
+
+"$(INTDIR)\jk_map.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_md5.c
+
+"$(INTDIR)\jk_md5.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_msg_buff.c
+
+"$(INTDIR)\jk_msg_buff.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_nwmain.c
+
+"$(INTDIR)\jk_nwmain.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_pool.c
+
+"$(INTDIR)\jk_pool.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_shm.c
+
+"$(INTDIR)\jk_shm.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_sockbuf.c
+
+"$(INTDIR)\jk_sockbuf.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_status.c
+
+"$(INTDIR)\jk_status.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_uri_worker_map.c
+
+"$(INTDIR)\jk_uri_worker_map.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_util.c
+
+"$(INTDIR)\jk_util.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_worker.c
+
+"$(INTDIR)\jk_worker.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+

Added: branches/tomcat5.5/upstream/current/connectors/jk/native/iis/Makefile.ia64
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/iis/Makefile.ia64	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/iis/Makefile.ia64	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,257 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on isapi.dsp
+# Use Platform SDK:
+# SetEnv.cmd /SRV64 /RETAIL
+# nmake -f Makefile.amd64
+#
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE 
+NULL=nul
+!ENDIF 
+
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+OUTDIR=.\Release_ia64
+INTDIR=.\Release_ia64
+# Begin Custom Macros
+OutDir=.\Release_ia64
+# End Custom Macros
+
+ALL : "$(OUTDIR)\isapi_redirect.dll"
+
+
+CLEAN :
+	- at erase "$(INTDIR)\isapi_redirector_src.idb"
+	- at erase "$(INTDIR)\isapi_redirector_src.pdb"
+	- at erase "$(INTDIR)\jk_ajp12_worker.obj"
+	- at erase "$(INTDIR)\jk_ajp13.obj"
+	- at erase "$(INTDIR)\jk_ajp13_worker.obj"
+	- at erase "$(INTDIR)\jk_ajp14.obj"
+	- at erase "$(INTDIR)\jk_ajp14_worker.obj"
+	- at erase "$(INTDIR)\jk_ajp_common.obj"
+	- at erase "$(INTDIR)\jk_connect.obj"
+	- at erase "$(INTDIR)\jk_context.obj"
+	- at erase "$(INTDIR)\jk_isapi_plugin.obj"
+	- at erase "$(INTDIR)\jk_jni_worker.obj"
+	- at erase "$(INTDIR)\jk_lb_worker.obj"
+	- at erase "$(INTDIR)\jk_map.obj"
+	- at erase "$(INTDIR)\jk_md5.obj"
+	- at erase "$(INTDIR)\jk_msg_buff.obj"
+	- at erase "$(INTDIR)\jk_nwmain.obj"
+	- at erase "$(INTDIR)\jk_pool.obj"
+	- at erase "$(INTDIR)\jk_shm.obj"
+	- at erase "$(INTDIR)\jk_sockbuf.obj"
+	- at erase "$(INTDIR)\jk_status.obj"
+	- at erase "$(INTDIR)\jk_uri_worker_map.obj"
+	- at erase "$(INTDIR)\jk_util.obj"
+	- at erase "$(INTDIR)\jk_worker.obj"
+	- at erase "$(OUTDIR)\isapi_redirect.dll"
+	- at erase "$(OUTDIR)\isapi_redirect.exp"
+	- at erase "$(OUTDIR)\isapi_redirect.lib"
+	- at erase "$(OUTDIR)\isapi_redirect.pdb"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\isapi.bsc" 
+BSC32_SBRS= \
+	
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib mswsock.lib bufferoverflowu.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\isapi_redirect.pdb" /debug /machine:IA64 /def:".\isapi.def" /out:"$(OUTDIR)\isapi_redirect.dll" /implib:"$(OUTDIR)\isapi_redirect.lib" 
+DEF_FILE= \
+	".\isapi.def"
+LINK32_OBJS= \
+	"$(INTDIR)\jk_ajp12_worker.obj" \
+	"$(INTDIR)\jk_ajp13.obj" \
+	"$(INTDIR)\jk_ajp13_worker.obj" \
+	"$(INTDIR)\jk_ajp14.obj" \
+	"$(INTDIR)\jk_ajp14_worker.obj" \
+	"$(INTDIR)\jk_ajp_common.obj" \
+	"$(INTDIR)\jk_connect.obj" \
+	"$(INTDIR)\jk_context.obj" \
+	"$(INTDIR)\jk_isapi_plugin.obj" \
+	"$(INTDIR)\jk_jni_worker.obj" \
+	"$(INTDIR)\jk_lb_worker.obj" \
+	"$(INTDIR)\jk_map.obj" \
+	"$(INTDIR)\jk_md5.obj" \
+	"$(INTDIR)\jk_msg_buff.obj" \
+	"$(INTDIR)\jk_nwmain.obj" \
+	"$(INTDIR)\jk_pool.obj" \
+	"$(INTDIR)\jk_shm.obj" \
+	"$(INTDIR)\jk_sockbuf.obj" \
+	"$(INTDIR)\jk_status.obj" \
+	"$(INTDIR)\jk_uri_worker_map.obj" \
+	"$(INTDIR)\jk_util.obj" \
+	"$(INTDIR)\jk_worker.obj"
+
+"$(OUTDIR)\isapi_redirect.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+    $(LINK32) @<<
+  $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /I "..\common" /I "$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_IA64_=1" /D "WIN64" /D "_WIN64" /Wp64 /FIPRE64PRA.H /D "ISAPI_EXPORTS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\isapi_redirector_src" /FD /c 
+
+.c{$(INTDIR)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cpp{$(INTDIR)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cxx{$(INTDIR)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.c{$(INTDIR)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cpp{$(INTDIR)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cxx{$(INTDIR)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 
+
+SOURCE=..\common\jk_ajp12_worker.c
+
+"$(INTDIR)\jk_ajp12_worker.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_ajp13.c
+
+"$(INTDIR)\jk_ajp13.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_ajp13_worker.c
+
+"$(INTDIR)\jk_ajp13_worker.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_ajp14.c
+
+"$(INTDIR)\jk_ajp14.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_ajp14_worker.c
+
+"$(INTDIR)\jk_ajp14_worker.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_ajp_common.c
+
+"$(INTDIR)\jk_ajp_common.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_connect.c
+
+"$(INTDIR)\jk_connect.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_context.c
+
+"$(INTDIR)\jk_context.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\jk_isapi_plugin.c
+
+"$(INTDIR)\jk_isapi_plugin.obj" : $(SOURCE) "$(INTDIR)"
+
+
+SOURCE=..\common\jk_jni_worker.c
+
+"$(INTDIR)\jk_jni_worker.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_lb_worker.c
+
+"$(INTDIR)\jk_lb_worker.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_map.c
+
+"$(INTDIR)\jk_map.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_md5.c
+
+"$(INTDIR)\jk_md5.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_msg_buff.c
+
+"$(INTDIR)\jk_msg_buff.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_nwmain.c
+
+"$(INTDIR)\jk_nwmain.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_pool.c
+
+"$(INTDIR)\jk_pool.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_shm.c
+
+"$(INTDIR)\jk_shm.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_sockbuf.c
+
+"$(INTDIR)\jk_sockbuf.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_status.c
+
+"$(INTDIR)\jk_status.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_uri_worker_map.c
+
+"$(INTDIR)\jk_uri_worker_map.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_util.c
+
+"$(INTDIR)\jk_util.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\common\jk_worker.c
+
+"$(INTDIR)\jk_worker.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/iis/Makefile.vc
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/iis/Makefile.vc	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/iis/Makefile.vc	2007-05-21 10:51:24 UTC (rev 3531)
@@ -74,7 +74,7 @@
 BSC32_SBRS= \
 	
 LINK32=link.exe
-LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib mswsock.lib /nologo /base:"0x6A6B0000" /dll /incremental:no /pdb:"$(OUTDIR)\isapi_redirect.pdb" /debug /machine:I386 /def:".\isapi.def" /out:"$(OUTDIR)\isapi_redirect.dll" /implib:"$(OUTDIR)\isapi_redirect.lib" 
+LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib mswsock.lib strsafe.lib /nologo /base:"0x6A6B0000" /dll /incremental:no /pdb:"$(OUTDIR)\isapi_redirect.pdb" /debug /machine:I386 /def:".\isapi.def" /out:"$(OUTDIR)\isapi_redirect.dll" /implib:"$(OUTDIR)\isapi_redirect.lib" 
 DEF_FILE= \
 	".\isapi.def"
 LINK32_OBJS= \

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/iis/installer/iisfilter.vbs
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/iis/installer/iisfilter.vbs	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/iis/installer/iisfilter.vbs	2007-05-21 10:51:24 UTC (rev 3531)
@@ -17,7 +17,7 @@
 ' =========================================================================
 ' Description: Install script for Tomcat ISAPI redirector                              
 ' Author:      Mladen Turk <mturk at apache.org>                           
-' Version:     $Revision: 300364 $                                           
+' Version:     $Revision: 438903 $                                           
 ' =========================================================================
 
 '

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/iis/installer/isapi-redirector-win32-msi.ism
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/iis/installer/isapi-redirector-win32-msi.ism	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/iis/installer/isapi-redirector-win32-msi.ism	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <?xml-stylesheet type="text/xsl" href="is.xsl" ?>
 <!DOCTYPE msi [
    <!ELEMENT msi   (summary,table*)>
@@ -52,10 +52,10 @@
 	<summary>
 		<codepage>1252</codepage>
 		<title>Installation Database</title>
-		<subject>Jakarta Isapi Redirector</subject>
+		<subject>##ID_STRING5##</subject>
 		<author>##COMPANY_NAME##</author>
 		<keywords>Installer,MSI,Database</keywords>
-		<comments>Contact:  Your local administrator</comments>
+		<comments>##ID_STRING6##</comments>
 		<template>Intel;1033</template>
 		<lastauthor>Administrator</lastauthor>
 		<revnumber>{C3AC9A0C-8E2C-4998-8FD3-894123CF9D37}</revnumber>
@@ -65,7 +65,7 @@
 		<pagecount>200</pagecount>
 		<wordcount>0</wordcount>
 		<charcount/>
-		<appname>InstallShield Developer</appname>
+		<appname>FLEXnet InstallShield</appname>
 		<security>1</security>
 	</summary>
 	
@@ -313,6 +313,7 @@
 		<col key="yes" def="i2">Order</col>
 		<col def="s64">Value</col>
 		<col def="L64">Text</col>
+		<row><td>IS_SQLSERVER_SERVER</td><td>1</td><td>TestValue</td><td/></row>
 	</table>
 
 	<table name="CompLocator">
@@ -1128,7 +1129,7 @@
 		<row><td>ISMyProductDir</td><td>ISMyCompanyDir</td><td>MYPROD~1|My Product Name</td><td/><td>0</td><td/></row>
 		<row><td>ISUpdateServiceFolder</td><td>ISCommonFilesFolder</td><td>UPDATE~1|UpdateService</td><td/><td>0</td><td/></row>
 		<row><td>ISYourDataBaseDir</td><td>INSTALLDIR</td><td>Database</td><td/><td>0</td><td/></row>
-		<row><td>JAKARTA_ISAPI_REDIRECTOR</td><td>APACHE_SOFTWARE_FOUNDATION</td><td>JAKART~1|Jakarta Isapi Redirector</td><td/><td>0</td><td/></row>
+		<row><td>JAKARTA_ISAPI_REDIRECTOR</td><td>APACHE_SOFTWARE_FOUNDATION</td><td>JAKART~1|Tomcat Isapi Redirector</td><td/><td>0</td><td/></row>
 		<row><td>JAKARTA_ISAPU_REDIRECTOR</td><td>APACHE_SOFTWARE_FOUNDATION</td><td>JAKART~1|Jakarta Isapu Redirector</td><td/><td>0</td><td/></row>
 		<row><td>JBOSS_EUROPE_SARL</td><td>ProgramFilesFolder</td><td>JBOSSE~1|JBoss Europe SaRL</td><td/><td>0</td><td/></row>
 		<row><td>LOG</td><td>INSTALLDIR</td><td>log</td><td/><td>0</td><td/></row>
@@ -1356,6 +1357,9 @@
 		<row><td>27549</td><td>##IDS_ERROR_27549##</td></row>
 		<row><td>27550</td><td>##IDS_ERROR_27550##</td></row>
 		<row><td>27551</td><td>##IDS_ERROR_27551##</td></row>
+		<row><td>27552</td><td>##IDS_ERROR_27552##</td></row>
+		<row><td>27553</td><td>##IDS_ERROR_27553##</td></row>
+		<row><td>27554</td><td>##IDS_ERROR_27554##</td></row>
 		<row><td>32</td><td>##IDS_ERROR_20##</td></row>
 		<row><td>33</td><td>##IDS_ERROR_21##</td></row>
 		<row><td>4</td><td>##IDS_ERROR_3##</td></row>
@@ -1626,6 +1630,33 @@
 		<row><td>VirtualDirComponent</td><td/><td/><td>_5ACAD922_2F71_4963_BCF2_D05C97252574_FILTER</td><td/><td/><td/><td/></row>
 	</table>
 
+	<table name="ISDIMDependency">
+		<col key="yes" def="s72">ISDIMReference_</col>
+		<col def="s255">RequiredUUID</col>
+		<col def="S255">RequiredMajorVersion</col>
+		<col def="S255">RequiredMinorVersion</col>
+		<col def="S255">RequiredBuildVersion</col>
+		<col def="S255">RequiredRevisionVersion</col>
+	</table>
+
+	<table name="ISDIMReference">
+		<col key="yes" def="s72">ISDIMReference</col>
+		<col def="S0">ISBuildSourcePath</col>
+	</table>
+
+	<table name="ISDIMReferenceDependencies">
+		<col key="yes" def="s72">ISDIMReference_Parent</col>
+		<col key="yes" def="s72">ISDIMDependency_</col>
+	</table>
+
+	<table name="ISDIMVariable">
+		<col key="yes" def="s72">ISDIMVariable</col>
+		<col def="s72">ISDIMReference_</col>
+		<col def="s0">Name</col>
+		<col def="S0">NewValue</col>
+		<col def="I4">Type</col>
+	</table>
+
 	<table name="ISDLLWrapper">
 		<col key="yes" def="s72">EntryPoint</col>
 		<col def="I4">Type</col>
@@ -1679,6 +1710,11 @@
 		<row><td>AllOtherFiles2</td><td>&lt;ISProjectFolder&gt;\log</td><td>4</td><td/><td/><td>0</td></row>
 	</table>
 
+	<table name="ISFeatureDIMReferences">
+		<col key="yes" def="s38">Feature_</col>
+		<col key="yes" def="s72">ISDIMReference_</col>
+	</table>
+
 	<table name="ISFeatureMergeModuleExcludes">
 		<col key="yes" def="s38">Feature_</col>
 		<col key="yes" def="s255">ModuleID</col>
@@ -1691,6 +1727,27 @@
 		<col key="yes" def="i2">Language_</col>
 	</table>
 
+	<table name="ISFileManifests">
+		<col key="yes" def="s72">File_</col>
+		<col key="yes" def="s72">Manifest_</col>
+	</table>
+
+	<table name="ISIISAppPool">
+		<col key="yes" def="s72">AppPool</col>
+		<col def="l72">Name</col>
+		<col def="s72">Component_</col>
+		<col def="I4">Attributes</col>
+		<col def="S72">User</col>
+		<col def="S72">UserPassword</col>
+		<col def="I4">RecycleMinutes</col>
+		<col def="I4">RecycleRequests</col>
+		<col def="S72">RecycleTimes</col>
+		<col def="I4">IdleTimeout</col>
+		<col def="I4">QueueLimit</col>
+		<col def="S72">CPUMon</col>
+		<col def="I4">MaxProc</col>
+	</table>
+
 	<table name="ISIISCommon">
 		<col key="yes" def="s50">ISIISCommon</col>
 		<col def="S50">ISIISCommon_Parent</col>
@@ -1705,8 +1762,9 @@
 		<col def="S0">CustomErrors</col>
 		<col def="L255">AppName</col>
 		<col def="S72">SSLCert</col>
-		<row><td>ISIISCommonVRoot</td><td>ISIISCommonWebsite1</td><td>##ID_STRING3##</td><td>BIN</td><td>28069</td><td>Default.asp</td><td>20</td><td>90</td><td/><td/><td/><td/><td/></row>
-		<row><td>ISIISCommonWebsite1</td><td/><td>Default Web Site</td><td>IISROOTFOLDER</td><td>28113</td><td/><td>20</td><td>90</td><td/><td/><td/><td/><td/></row>
+		<col def="L72">AppPool_</col>
+		<row><td>ISIISCommonVRoot</td><td>ISIISCommonWebsite1</td><td>##ID_STRING3##</td><td>BIN</td><td>28069</td><td>Default.asp</td><td>20</td><td>90</td><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISIISCommonWebsite1</td><td/><td>Default Web Site</td><td>IISROOTFOLDER</td><td>28113</td><td/><td>20</td><td>90</td><td/><td/><td/><td/><td/><td/></row>
 	</table>
 
 	<table name="ISIISMetaData">
@@ -1719,6 +1777,15 @@
 		<col def="s0">MetaDataValue</col>
 	</table>
 
+	<table name="ISIISWebServiceExtension">
+		<col key="yes" def="s72">WebServiceExtension</col>
+		<col def="s0">Component_</col>
+		<col def="s72">File</col>
+		<col def="l72">Description</col>
+		<col def="s72">Group</col>
+		<col def="i4">Attributes</col>
+	</table>
+
 	<table name="ISInstallScriptAction">
 		<col key="yes" def="s72">EntryPoint</col>
 		<col def="I4">Type</col>
@@ -1955,6 +2022,13 @@
 		<row><td>Msi</td><td>Release</td><td>&lt;ISProjectDataFolder&gt;</td><td>PackageName</td><td>0</td><td>1033</td><td>2</td><td>1</td><td>Intel</td><td/><td>1033</td><td>3</td><td>650</td><td>0</td><td>2048</td><td/><td>0</td><td/><td>MediaLocation</td><td/><td>http://</td><td/><td/><td/><td/><td>8464397</td><td/><td/><td/><td/></row>
 	</table>
 
+	<table name="ISReleaseASPublishInfo">
+		<col key="yes" def="s72">ISRelease_</col>
+		<col key="yes" def="s72">ISProductConfiguration_</col>
+		<col key="yes" def="S0">Property</col>
+		<col def="S0">Value</col>
+	</table>
+
 	<table name="ISReleaseExtended">
 		<col key="yes" def="s72">ISRelease_</col>
 		<col key="yes" def="s72">ISProductConfiguration_</col>
@@ -1986,14 +2060,14 @@
 		<col def="I4">MsiEngineVersion</col>
 		<col def="S255">WinMsi30Url</col>
 		<col def="S255">CertPassword</col>
-		<row><td>Bin</td><td>Release</td><td>0</td><td>http://</td><td>0</td><td>install</td><td>install</td><td>[WindowsFolder]Downloaded Installations</td><td>1</td><td>http://www.installengine.com/Msiengine20</td><td>http://www.installengine.com/Msiengine20</td><td>2</td><td>http://www.installengine.com/cert03/isengine</td><td>2</td><td/><td/><td/><td>3</td><td>http://www.installengine.com/cert03/dotnetfx</td><td>0</td><td>1033</td><td/><td/><td/><td/><td>16</td><td>3</td><td>4</td><td>http://www.installengine.com/Msiengine30</td><td/></row>
-		<row><td>Msi</td><td>Release</td><td>0</td><td>http://</td><td>0</td><td>install</td><td>install</td><td>[WindowsFolder]Downloaded Installations</td><td>2</td><td>http://www.installengine.com/Msiengine20</td><td>http://www.installengine.com/Msiengine20</td><td>2</td><td>http://www.installengine.com/cert03/isengine</td><td/><td/><td/><td/><td>3</td><td>http://www.installengine.com/cert03/dotnetfx</td><td>0</td><td>1033</td><td/><td/><td/><td/><td>16</td><td>3</td><td>4</td><td>http://www.installengine.com/Msiengine30</td><td/></row>
+		<row><td>Bin</td><td>Release</td><td>0</td><td>http://</td><td>0</td><td>install</td><td>install</td><td>[WindowsFolder]Downloaded Installations</td><td>1</td><td>http://www.installengine.com/Msiengine20</td><td>http://www.installengine.com/Msiengine20</td><td>2</td><td>http://www.installengine.com/cert05/isengine</td><td>2</td><td/><td/><td/><td>3</td><td>http://www.installengine.com/cert05/dotnetfx</td><td>0</td><td>1033</td><td/><td/><td/><td/><td>16</td><td>3</td><td>4</td><td>http://www.installengine.com/Msiengine30</td><td/></row>
+		<row><td>Msi</td><td>Release</td><td>0</td><td>http://</td><td>0</td><td>install</td><td>install</td><td>[WindowsFolder]Downloaded Installations</td><td>2</td><td>http://www.installengine.com/Msiengine20</td><td>http://www.installengine.com/Msiengine20</td><td>2</td><td>http://www.installengine.com/cert05/isengine</td><td/><td/><td/><td/><td>3</td><td>http://www.installengine.com/cert05/dotnetfx</td><td>0</td><td>1033</td><td/><td/><td/><td/><td>16</td><td>3</td><td>4</td><td>http://www.installengine.com/Msiengine30</td><td/></row>
 		<row><td>Release 1</td><td>Release</td><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/></row>
 	</table>
 
 	<table name="ISReleasePublishInfo">
 		<col key="yes" def="s72">ISRelease_</col>
-		<col def="s72">ISProductConfiguration_</col>
+		<col key="yes" def="s72">ISProductConfiguration_</col>
 		<col def="S255">Repository</col>
 		<col def="S255">DisplayName</col>
 		<col def="S255">Publisher</col>
@@ -2012,6 +2086,7 @@
 		<col def="i2">Order</col>
 		<col def="S0">Comments</col>
 		<col def="I4">CmdTimeout</col>
+		<col def="S0">BatchSeparator</col>
 	</table>
 
 	<table name="ISSQLConnectionDBServer">
@@ -2044,6 +2119,12 @@
 		<col def="S0">VersionBeginToken</col>
 		<col def="S0">VersionEndToken</col>
 		<col def="S0">LocalInstanceNames</col>
+		<col def="S0">CreateDbCmd</col>
+		<col def="S0">SwitchDbCmd</col>
+		<col def="I4">ISAttributes</col>
+		<col def="S0">TestTableCmd2</col>
+		<col def="S0">WinAuthentUserId</col>
+		<col def="S0">DsnODBCName</col>
 	</table>
 
 	<table name="ISSQLRequirement">
@@ -2122,6 +2203,19 @@
 		<col def="I2">Order</col>
 	</table>
 
+	<table name="ISSetupType">
+		<col key="yes" def="s38">ISSetupType</col>
+		<col def="L255">Description</col>
+		<col def="L255">Display_Name</col>
+		<col def="i2">Display</col>
+		<col def="S255">Comments</col>
+	</table>
+
+	<table name="ISSetupTypeFeatures">
+		<col key="yes" def="s38">ISSetupType_</col>
+		<col key="yes" def="s38">Feature_</col>
+	</table>
+
 	<table name="ISStorages">
 		<col key="yes" def="s72">Name</col>
 		<col def="S0">ISBuildSourcePath</col>
@@ -2338,7 +2432,7 @@
 		<row><td>IDS_ERROR_27</td><td>1033</td><td>Error reading from file [2].  Verify that the file exists and that you can access it.</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_ERROR_27502</td><td>1033</td><td>Could not connect to [2] '[3]'. [4]</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_ERROR_27503</td><td>1033</td><td>Error retrieving version string from [2] '[3]'. [4]</td><td>0</td><td/><td>-1256677244</td></row>
-		<row><td>IDS_ERROR_27504</td><td>1033</td><td>SQL version requirements not met: [3]. This installation requires [4]</td><td>0</td><td/><td>-1256677244</td></row>
+		<row><td>IDS_ERROR_27504</td><td>1033</td><td>SQL version requirements not met: [3]. This installation requires [2] [4] or later.</td><td>0</td><td/><td/></row>
 		<row><td>IDS_ERROR_27505</td><td>1033</td><td>Could not open SQL script file [2].</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_ERROR_27506</td><td>1033</td><td>Error executing SQL script [2]. Line [3]. [4]</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_ERROR_27507</td><td>1033</td><td>Connection or browsing for database servers requires that MDAC be installed.</td><td>0</td><td/><td>-1256677244</td></row>
@@ -2386,6 +2480,9 @@
 		<row><td>IDS_ERROR_27549</td><td>1033</td><td>Error getting the primary domain controller (PDC).</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_ERROR_27550</td><td>1033</td><td>Every field must have a value in order to create a user.</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_ERROR_27551</td><td>1033</td><td>ODBC driver for [2] not found. This is required to connect to [2] database servers.</td><td>0</td><td/><td>-1256677244</td></row>
+		<row><td>IDS_ERROR_27552</td><td>1033</td><td>Error creating database [4]. Server: [2] [3]. [5]</td><td>0</td><td/><td/></row>
+		<row><td>IDS_ERROR_27553</td><td>1033</td><td>Error connecting to database [4]. Server: [2] [3]. [5]</td><td>0</td><td/><td/></row>
+		<row><td>IDS_ERROR_27554</td><td>1033</td><td>Error attempting to open connection [2]. No valid database metadata associated with this connection.</td><td>0</td><td/><td/></row>
 		<row><td>IDS_ERROR_28</td><td>1033</td><td>Another application has exclusive access to the file [2].  Please shut down all other applications, then click Retry.</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_ERROR_29</td><td>1033</td><td>There is not enough disk space to install the file [2].  Free some disk space and click Retry, or click Cancel to exit.</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_ERROR_3</td><td>1033</td><td>Info [1].</td><td>0</td><td/><td>-1256677244</td></row>
@@ -2474,14 +2571,24 @@
 		<row><td>IDS_OK</td><td>1033</td><td>OK</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_PRINT_BUTTON</td><td>1033</td><td>&amp;Print</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_PRODUCTNAME_INSTALLSHIELD</td><td>1033</td><td>[ProductName] - InstallShield Wizard</td><td>0</td><td/><td>-1256677244</td></row>
+		<row><td>IDS_PROGMSG_IIS_CREATEAPPPOOL</td><td>1033</td><td>Creating application pool %s</td><td>0</td><td/><td/></row>
+		<row><td>IDS_PROGMSG_IIS_CREATEAPPPOOLS</td><td>1033</td><td>Creating application Pools...</td><td>0</td><td/><td/></row>
 		<row><td>IDS_PROGMSG_IIS_CREATEVROOT</td><td>1033</td><td>Creating IIS virtual directory %s</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_PROGMSG_IIS_CREATEVROOTS</td><td>1033</td><td>Creating IIS virtual directories...</td><td>0</td><td/><td>-1256677244</td></row>
+		<row><td>IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSION</td><td>1033</td><td>Creating web service extension</td><td>0</td><td/><td/></row>
+		<row><td>IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSIONS</td><td>1033</td><td>Creating web service extensions...</td><td>0</td><td/><td/></row>
 		<row><td>IDS_PROGMSG_IIS_EXTRACT</td><td>1033</td><td>Extracting information for IIS virtual directories...</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_PROGMSG_IIS_EXTRACTDONE</td><td>1033</td><td>Extracted information for IIS virtual directories...</td><td>0</td><td/><td>-1256677244</td></row>
+		<row><td>IDS_PROGMSG_IIS_REMOVEAPPPOOL</td><td>1033</td><td>Removing application pool</td><td>0</td><td/><td/></row>
+		<row><td>IDS_PROGMSG_IIS_REMOVEAPPPOOLS</td><td>1033</td><td>Removing application pools...</td><td>0</td><td/><td/></row>
 		<row><td>IDS_PROGMSG_IIS_REMOVESITE</td><td>1033</td><td>Removing web site at port %d</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_PROGMSG_IIS_REMOVEVROOT</td><td>1033</td><td>Removing IIS virtual directory %s</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_PROGMSG_IIS_REMOVEVROOTS</td><td>1033</td><td>Removing IIS virtual directories...</td><td>0</td><td/><td>-1256677244</td></row>
+		<row><td>IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSION</td><td>1033</td><td>Removing web service extension</td><td>0</td><td/><td/></row>
+		<row><td>IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSIONS</td><td>1033</td><td>Removing web service extensions...</td><td>0</td><td/><td/></row>
+		<row><td>IDS_PROGMSG_IIS_ROLLBACKAPPPOOLS</td><td>1033</td><td>Rolling back application pools...</td><td>0</td><td/><td/></row>
 		<row><td>IDS_PROGMSG_IIS_ROLLBACKVROOTS</td><td>1033</td><td>Rolling back virtual directory and web site changes...</td><td>0</td><td/><td>-1256677244</td></row>
+		<row><td>IDS_PROGMSG_IIS_ROLLBACKWEBSERVICEEXTENSIONS</td><td>1033</td><td>Rolling back web service extensions...</td><td>0</td><td/><td/></row>
 		<row><td>IDS_PROGMSG_XML_COSTING</td><td>1033</td><td>Costing XML files...</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_PROGMSG_XML_CREATE_FILE</td><td>1033</td><td>Creating XML file %s...</td><td>0</td><td/><td>-1256677244</td></row>
 		<row><td>IDS_PROGMSG_XML_FILES</td><td>1033</td><td>Performing XML file changes...</td><td>0</td><td/><td>-1256677244</td></row>
@@ -2772,6 +2879,8 @@
 		<row><td>ID_STRING2</td><td>1033</td><td>DisplayName1</td><td>0</td><td/><td>2115549418</td></row>
 		<row><td>ID_STRING3</td><td>1033</td><td>jakarta</td><td>0</td><td/><td>2115510538</td></row>
 		<row><td>ID_STRING4</td><td>1033</td><td>CoreFiles</td><td>0</td><td/><td>2115544011</td></row>
+		<row><td>ID_STRING5</td><td>1033</td><td>Tomcat Isapi Redirector</td><td>0</td><td/><td>161207880</td></row>
+		<row><td>ID_STRING6</td><td>1033</td><td>See http://tomcat.apache.org/connectors-doc/</td><td>0</td><td/><td>161197672</td></row>
 		<row><td>IIDS_UITEXT_FeatureUninstalled</td><td>1033</td><td>This feature will remain uninstalled.</td><td>0</td><td/><td>-1256677244</td></row>
 	</table>
 
@@ -2835,8 +2944,8 @@
 		<col key="yes" def="s72">ISXmlElement</col>
 		<col def="s72">ISXmlFile_</col>
 		<col def="S72">ISXmlElement_Parent</col>
-		<col def="L255">XPath</col>
-		<col def="L255">Content</col>
+		<col def="L0">XPath</col>
+		<col def="L0">Content</col>
 		<col def="I4">ISAttributes</col>
 	</table>
 
@@ -2844,7 +2953,7 @@
 		<col key="yes" def="s72">ISXmlElementAttrib</col>
 		<col key="yes" def="s72">ISXmlElement_</col>
 		<col def="L255">Name</col>
-		<col def="L255">Value</col>
+		<col def="L0">Value</col>
 		<col def="I4">ISAttributes</col>
 	</table>
 
@@ -2854,6 +2963,7 @@
 		<col def="s72">Component_</col>
 		<col def="s50">Directory</col>
 		<col def="I4">ISAttributes</col>
+		<col def="S0">SelectionNamespaces</col>
 	</table>
 
 	<table name="ISXmlLocator">
@@ -2983,8 +3093,8 @@
 		<col def="S0">Value</col>
 		<row><td>ActiveLanguage</td><td>1033</td></row>
 		<row><td>Comments</td><td/></row>
-		<row><td>CurrentMedia</td><td dt:dt="bin.base64" md5="fc57cd997448222cf865e8f31ac4d902">
-QgBpAG4AAQBSAGUAbABlAGEAcwBlAA==
+		<row><td>CurrentMedia</td><td dt:dt="bin.base64" md5="ad56c01706a65016783625b2b7eb1639">
+TQBzAGkAAQBSAGUAbABlAGEAcwBlAA==
 			</td></row>
 		<row><td>ISCompilerOption_CompileBeforeBuild</td><td>1</td></row>
 		<row><td>ISCompilerOption_Debug</td><td>0</td></row>
@@ -3008,7 +3118,7 @@
 		<row><td>SaveAsSchema</td><td/></row>
 		<row><td>SccEnabled</td><td>0</td></row>
 		<row><td>SccPath</td><td/></row>
-		<row><td>SchemaVersion</td><td>759</td></row>
+		<row><td>SchemaVersion</td><td>763</td></row>
 		<row><td>Type</td><td>MSI</td></row>
 	</table>
 
@@ -3061,6 +3171,7 @@
 		<col key="yes" def="i2">Order</col>
 		<col def="s64">Value</col>
 		<col def="L64">Text</col>
+		<row><td>IS_SQLSERVER_LIST</td><td>1</td><td>TestValue</td><td/></row>
 	</table>
 
 	<table name="ListView">
@@ -3276,19 +3387,29 @@
 		<row><td>InstallChoice</td><td>AR</td><td/></row>
 		<row><td>Manufacturer</td><td>##COMPANY_NAME##</td><td/></row>
 		<row><td>PIDTemplate</td><td>12345&lt;###-%%%%%%%&gt;@@@@@</td><td/></row>
+		<row><td>PROGMSG_IIS_CREATEAPPPOOL</td><td>##IDS_PROGMSG_IIS_CREATEAPPPOOL##</td><td/></row>
+		<row><td>PROGMSG_IIS_CREATEAPPPOOLS</td><td>##IDS_PROGMSG_IIS_CREATEAPPPOOLS##</td><td/></row>
 		<row><td>PROGMSG_IIS_CREATEVROOT</td><td>##IDS_PROGMSG_IIS_CREATEVROOT##</td><td/></row>
 		<row><td>PROGMSG_IIS_CREATEVROOTS</td><td>##IDS_PROGMSG_IIS_CREATEVROOTS##</td><td/></row>
+		<row><td>PROGMSG_IIS_CREATEWEBSERVICEEXTENSION</td><td>##IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSION##</td><td/></row>
+		<row><td>PROGMSG_IIS_CREATEWEBSERVICEEXTENSIONS</td><td>##IDS_PROGMSG_IIS_CREATEWEBSERVICEEXTENSIONS##</td><td/></row>
 		<row><td>PROGMSG_IIS_EXTRACT</td><td>##IDS_PROGMSG_IIS_EXTRACT##</td><td/></row>
 		<row><td>PROGMSG_IIS_EXTRACTDONE</td><td>##IDS_PROGMSG_IIS_EXTRACTDONE##</td><td/></row>
+		<row><td>PROGMSG_IIS_REMOVEAPPPOOL</td><td>##IDS_PROGMSG_IIS_REMOVEAPPPOOL##</td><td/></row>
+		<row><td>PROGMSG_IIS_REMOVEAPPPOOLS</td><td>##IDS_PROGMSG_IIS_REMOVEAPPPOOLS##</td><td/></row>
 		<row><td>PROGMSG_IIS_REMOVESITE</td><td>##IDS_PROGMSG_IIS_REMOVESITE##</td><td/></row>
 		<row><td>PROGMSG_IIS_REMOVEVROOT</td><td>##IDS_PROGMSG_IIS_REMOVEVROOT##</td><td/></row>
 		<row><td>PROGMSG_IIS_REMOVEVROOTS</td><td>##IDS_PROGMSG_IIS_REMOVEVROOTS##</td><td/></row>
+		<row><td>PROGMSG_IIS_REMOVEWEBSERVICEEXTENSION</td><td>##IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSION##</td><td/></row>
+		<row><td>PROGMSG_IIS_REMOVEWEBSERVICEEXTENSIONS</td><td>##IDS_PROGMSG_IIS_REMOVEWEBSERVICEEXTENSIONS##</td><td/></row>
+		<row><td>PROGMSG_IIS_ROLLBACKAPPPOOLS</td><td>##IDS_PROGMSG_IIS_ROLLBACKAPPPOOLS##</td><td/></row>
 		<row><td>PROGMSG_IIS_ROLLBACKVROOTS</td><td>##IDS_PROGMSG_IIS_ROLLBACKVROOTS##</td><td/></row>
+		<row><td>PROGMSG_IIS_ROLLBACKWEBSERVICEEXTENSIONS</td><td>##IDS_PROGMSG_IIS_ROLLBACKWEBSERVICEEXTENSIONS##</td><td/></row>
 		<row><td>ProductCode</td><td>{8B799ADD-7E5C-41B9-936B-942F3CAE42A0}</td><td/></row>
 		<row><td>ProductID</td><td>none</td><td/></row>
 		<row><td>ProductLanguage</td><td>1033</td><td/></row>
-		<row><td>ProductName</td><td>Jakarta Isapi Redirector</td><td/></row>
-		<row><td>ProductVersion</td><td>1.2.19</td><td/></row>
+		<row><td>ProductName</td><td>Tomcat Isapi Redirector</td><td/></row>
+		<row><td>ProductVersion</td><td>1.2.22</td><td/></row>
 		<row><td>ProgressType0</td><td>install</td><td/></row>
 		<row><td>ProgressType1</td><td>Installing</td><td/></row>
 		<row><td>ProgressType2</td><td>installed</td><td/></row>
@@ -3595,30 +3716,22 @@
 		<row><td>AdminExecuteSequence</td><td>Action</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Name of action to invoke, either in the engine or the handler DLL.</td></row>
 		<row><td>AdminExecuteSequence</td><td>Condition</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.</td></row>
 		<row><td>AdminExecuteSequence</td><td>ISAttributes</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>This is used to store MM Custom Action Types</td></row>
-		<row><td>AdminExecuteSequence</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td dt:dt="bin.base64" md5="ee654261ffce9c7f08d4789d0f5b202c">
-QQB1AHQAaABvAHIAGSBzACAAYwBvAG0AbQBlAG4AdABzACAAbwBuACAAdABoAGkAcwAgAFMAZQBxAHUAZQBuAGMAZQAuAA==
-			</td></row>
+		<row><td>AdminExecuteSequence</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Author’s comments on this Sequence.</td></row>
 		<row><td>AdminExecuteSequence</td><td>Sequence</td><td>Y</td><td>-4</td><td>32767</td><td/><td/><td/><td/><td>Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.</td></row>
 		<row><td>AdminUISequence</td><td>Action</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Name of action to invoke, either in the engine or the handler DLL.</td></row>
 		<row><td>AdminUISequence</td><td>Condition</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.</td></row>
 		<row><td>AdminUISequence</td><td>ISAttributes</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>This is used to store MM Custom Action Types</td></row>
-		<row><td>AdminUISequence</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td dt:dt="bin.base64" md5="ee654261ffce9c7f08d4789d0f5b202c">
-QQB1AHQAaABvAHIAGSBzACAAYwBvAG0AbQBlAG4AdABzACAAbwBuACAAdABoAGkAcwAgAFMAZQBxAHUAZQBuAGMAZQAuAA==
-			</td></row>
+		<row><td>AdminUISequence</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Author’s comments on this Sequence.</td></row>
 		<row><td>AdminUISequence</td><td>Sequence</td><td>Y</td><td>-4</td><td>32767</td><td/><td/><td/><td/><td>Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.</td></row>
 		<row><td>AdvtExecuteSequence</td><td>Action</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Name of action to invoke, either in the engine or the handler DLL.</td></row>
 		<row><td>AdvtExecuteSequence</td><td>Condition</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.</td></row>
 		<row><td>AdvtExecuteSequence</td><td>ISAttributes</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>This is used to store MM Custom Action Types</td></row>
-		<row><td>AdvtExecuteSequence</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td dt:dt="bin.base64" md5="ee654261ffce9c7f08d4789d0f5b202c">
-QQB1AHQAaABvAHIAGSBzACAAYwBvAG0AbQBlAG4AdABzACAAbwBuACAAdABoAGkAcwAgAFMAZQBxAHUAZQBuAGMAZQAuAA==
-			</td></row>
+		<row><td>AdvtExecuteSequence</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Author’s comments on this Sequence.</td></row>
 		<row><td>AdvtExecuteSequence</td><td>Sequence</td><td>Y</td><td>-4</td><td>32767</td><td/><td/><td/><td/><td>Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.</td></row>
 		<row><td>AdvtUISequence</td><td>Action</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Name of action to invoke, either in the engine or the handler DLL.</td></row>
 		<row><td>AdvtUISequence</td><td>Condition</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.</td></row>
 		<row><td>AdvtUISequence</td><td>ISAttributes</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>This is used to store MM Custom Action Types</td></row>
-		<row><td>AdvtUISequence</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td dt:dt="bin.base64" md5="ee654261ffce9c7f08d4789d0f5b202c">
-QQB1AHQAaABvAHIAGSBzACAAYwBvAG0AbQBlAG4AdABzACAAbwBuACAAdABoAGkAcwAgAFMAZQBxAHUAZQBuAGMAZQAuAA==
-			</td></row>
+		<row><td>AdvtUISequence</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Author’s comments on this Sequence.</td></row>
 		<row><td>AdvtUISequence</td><td>Sequence</td><td>Y</td><td>-4</td><td>32767</td><td/><td/><td/><td/><td>Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.</td></row>
 		<row><td>AppId</td><td>ActivateAtStorage</td><td>Y</td><td>0</td><td>1</td><td/><td/><td/><td/><td/></row>
 		<row><td>AppId</td><td>AppId</td><td>N</td><td/><td/><td/><td/><td>Guid</td><td/><td/></row>
@@ -3718,9 +3831,7 @@
 		<row><td>CreateFolder</td><td>Component_</td><td>N</td><td/><td/><td>Component</td><td>1</td><td>Identifier</td><td/><td>Foreign key into the Component table.</td></row>
 		<row><td>CreateFolder</td><td>Directory_</td><td>N</td><td/><td/><td>Directory</td><td>1</td><td>Identifier</td><td/><td>Primary key, could be foreign key into the Directory table.</td></row>
 		<row><td>CustomAction</td><td>Action</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Primary key, name of action, normally appears in sequence table unless private use.</td></row>
-		<row><td>CustomAction</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td dt:dt="bin.base64" md5="32618cf58258b38e853f7a99b6c3518e">
-QQB1AHQAaABvAHIAGSBzACAAYwBvAG0AbQBlAG4AdABzACAAZgBvAHIAIAB0AGgAaQBzACAAYwB1AHMAdABvAG0AIABhAGMAdABpAG8AbgAuAA==
-			</td></row>
+		<row><td>CustomAction</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Author’s comments for this custom action.</td></row>
 		<row><td>CustomAction</td><td>Source</td><td>Y</td><td/><td/><td/><td/><td>CustomSource</td><td/><td>The table reference of the source of the code.</td></row>
 		<row><td>CustomAction</td><td>Target</td><td>Y</td><td/><td/><td>ISDLLWrapper;ISInstallScriptAction</td><td>1</td><td>Formatted</td><td/><td>Excecution parameter, depends on the type of custom action</td></row>
 		<row><td>CustomAction</td><td>Type</td><td>N</td><td>1</td><td>32767</td><td/><td/><td/><td/><td>The numeric custom action type, consisting of source location, code type, entry, option flags.</td></row>
@@ -3731,9 +3842,7 @@
 		<row><td>Dialog</td><td>Dialog</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Name of the dialog.</td></row>
 		<row><td>Dialog</td><td>HCentering</td><td>N</td><td>0</td><td>100</td><td/><td/><td/><td/><td>Horizontal position of the dialog on a 0-100 scale. 0 means left end, 100 means right end of the screen, 50 center.</td></row>
 		<row><td>Dialog</td><td>Height</td><td>N</td><td>0</td><td>32767</td><td/><td/><td/><td/><td>Height of the bounding rectangle of the dialog.</td></row>
-		<row><td>Dialog</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td dt:dt="bin.base64" md5="99783de6d158fd3d49a9424b04aa1fc1">
-QQB1AHQAaABvAHIAGSBzACAAYwBvAG0AbQBlAG4AdABzACAAZgBvAHIAIAB0AGgAaQBzACAAZABpAGEAbABvAGcALgA=
-			</td></row>
+		<row><td>Dialog</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Author’s comments for this dialog.</td></row>
 		<row><td>Dialog</td><td>ISResourceId</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>A Number the Specifies the Dialog ID to be used in Dialog Export</td></row>
 		<row><td>Dialog</td><td>ISWindowStyle</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>A 32-bit word that specifies non-MSI window styles to be applied to this control. This is only used in Script Based Setups.</td></row>
 		<row><td>Dialog</td><td>TextStyle_</td><td>Y</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Foreign Key into TextStyle table, only used in Script Based Projects.</td></row>
@@ -3903,6 +4012,21 @@
 		<row><td>ISComponentExtended</td><td>Miscellaneous</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Miscellaneous</td></row>
 		<row><td>ISComponentExtended</td><td>OS</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>bitwise addition of OSs</td></row>
 		<row><td>ISComponentExtended</td><td>Platforms</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>bitwise addition of Platforms.</td></row>
+		<row><td>ISDIMDependency</td><td>ISDIMReference_</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>This is the primary key to the ISDIMDependency table</td></row>
+		<row><td>ISDIMDependency</td><td>RequiredBuildVersion</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>the build version identifying the required DIM</td></row>
+		<row><td>ISDIMDependency</td><td>RequiredMajorVersion</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>the major version identifying the required DIM</td></row>
+		<row><td>ISDIMDependency</td><td>RequiredMinorVersion</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>the minor version identifying the required DIM</td></row>
+		<row><td>ISDIMDependency</td><td>RequiredRevisionVersion</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>the revision version identifying the required DIM</td></row>
+		<row><td>ISDIMDependency</td><td>RequiredUUID</td><td>N</td><td/><td/><td/><td/><td>Text</td><td/><td>the UUID identifying the required DIM</td></row>
+		<row><td>ISDIMReference</td><td>ISBuildSourcePath</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Full path, the category is of Text instead of Path because of potential use of path variables.</td></row>
+		<row><td>ISDIMReference</td><td>ISDIMReference</td><td>N</td><td/><td/><td>ISDIMDependency</td><td>1</td><td>Identifier</td><td/><td>This is the primary key to the ISDIMReference table</td></row>
+		<row><td>ISDIMReferenceDependencies</td><td>ISDIMDependency_</td><td>N</td><td/><td/><td>ISDIMDependency</td><td>1</td><td>Identifier</td><td/><td>Foreign key into ISDIMDependency table.</td></row>
+		<row><td>ISDIMReferenceDependencies</td><td>ISDIMReference_Parent</td><td>N</td><td/><td/><td>ISDIMReference</td><td>1</td><td>Identifier</td><td/><td>Foreign key into ISDIMReference table.</td></row>
+		<row><td>ISDIMVariable</td><td>ISDIMReference_</td><td>N</td><td/><td/><td>ISDIMReference</td><td>1</td><td>Identifier</td><td/><td>Foreign key into ISDIMReference table.</td></row>
+		<row><td>ISDIMVariable</td><td>ISDIMVariable</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>This is the primary key to the ISDIMVariable table</td></row>
+		<row><td>ISDIMVariable</td><td>Name</td><td>N</td><td/><td/><td/><td/><td>Text</td><td/><td>Name of a variable defined in the .dim file</td></row>
+		<row><td>ISDIMVariable</td><td>NewValue</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>New value that you want to override with</td></row>
+		<row><td>ISDIMVariable</td><td>Type</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>Type of the variable. 0: Build Variable, 1: Runtime Variable</td></row>
 		<row><td>ISDLLWrapper</td><td>EntryPoint</td><td>N</td><td/><td/><td/><td/><td>Text</td><td/><td>This is a foreign key to the target column in the CustomAction table</td></row>
 		<row><td>ISDLLWrapper</td><td>Source</td><td>N</td><td/><td/><td/><td/><td>Formatted</td><td/><td>This is column points to the source file for the DLLWrapper Custom Action</td></row>
 		<row><td>ISDLLWrapper</td><td>Target</td><td>N</td><td/><td/><td/><td/><td>Text</td><td/><td>The function signature</td></row>
@@ -3932,6 +4056,8 @@
 		<row><td>ISDynamicFile</td><td>IncludeFiles</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Wildcards for included files.</td></row>
 		<row><td>ISDynamicFile</td><td>IncludeFlags</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>Include flags.</td></row>
 		<row><td>ISDynamicFile</td><td>SourceFolder</td><td>N</td><td/><td/><td/><td/><td>Text</td><td/><td>Full path, the category is of Text instead of Path because of potential use of path variables.</td></row>
+		<row><td>ISFeatureDIMReferences</td><td>Feature_</td><td>N</td><td/><td/><td>Feature</td><td>1</td><td>Identifier</td><td/><td>Foreign key into Feature table.</td></row>
+		<row><td>ISFeatureDIMReferences</td><td>ISDIMReference_</td><td>N</td><td/><td/><td>ISDIMReference</td><td>1</td><td>Identifier</td><td/><td>Foreign key into ISDIMReference table.</td></row>
 		<row><td>ISFeatureMergeModuleExcludes</td><td>Feature_</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Foreign key into Feature table.</td></row>
 		<row><td>ISFeatureMergeModuleExcludes</td><td>Language</td><td>N</td><td/><td/><td/><td/><td/><td/><td>Foreign key into ISMergeModule table.</td></row>
 		<row><td>ISFeatureMergeModuleExcludes</td><td>ModuleID</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Foreign key into ISMergeModule table.
@@ -3940,9 +4066,25 @@
 		<row><td>ISFeatureMergeModules</td><td>ISMergeModule_</td><td>N</td><td/><td/><td>ISMergeModule</td><td>1</td><td>Text</td><td/><td>Foreign key into ISMergeModule table.
 </td></row>
 		<row><td>ISFeatureMergeModules</td><td>Language_</td><td>N</td><td/><td/><td>ISMergeModule</td><td>2</td><td/><td/><td>Foreign key into ISMergeModule table.</td></row>
+		<row><td>ISFileManifests</td><td>File_</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Foreign key into File table.</td></row>
+		<row><td>ISFileManifests</td><td>Manifest_</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Foreign key into File table.</td></row>
+		<row><td>ISIISAppPool</td><td>AppPool</td><td>N</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISIISAppPool</td><td>Attributes</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISIISAppPool</td><td>CPUMon</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISIISAppPool</td><td>Component_</td><td>N</td><td/><td/><td>Component</td><td>1</td><td>Text</td><td/><td>Foreign key into Component table</td></row>
+		<row><td>ISIISAppPool</td><td>IdleTimeout</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISIISAppPool</td><td>MaxProc</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISIISAppPool</td><td>Name</td><td>N</td><td/><td/><td/><td/><td>Text</td><td/><td>Localizable Display Name</td></row>
+		<row><td>ISIISAppPool</td><td>QueueLimit</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISIISAppPool</td><td>RecycleMinutes</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISIISAppPool</td><td>RecycleRequests</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISIISAppPool</td><td>RecycleTimes</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISIISAppPool</td><td>User</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISIISAppPool</td><td>UserPassword</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISIISCommon</td><td>AnonyPasswrd</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Password for anonymous access</td></row>
 		<row><td>ISIISCommon</td><td>AnonyUserName</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>User name for anonymous access</td></row>
 		<row><td>ISIISCommon</td><td>AppName</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>AppName of this VRoot</td></row>
+		<row><td>ISIISCommon</td><td>AppPool_</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Localizable Application Pool Name</td></row>
 		<row><td>ISIISCommon</td><td>Attributes</td><td>N</td><td/><td/><td/><td/><td>Number</td><td/><td>Attributes for this IIS node</td></row>
 		<row><td>ISIISCommon</td><td>CustomErrors</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Delimited list of custom errors</td></row>
 		<row><td>ISIISCommon</td><td>DefDoc</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Localizable Defeault Doc</td></row>
@@ -3960,6 +4102,12 @@
 		<row><td>ISIISMetaData</td><td>MetaDataUserType</td><td>N</td><td/><td/><td/><td/><td/><td/><td>This is the dwMDUserType item in the METADATA_RECORD structure</td></row>
 		<row><td>ISIISMetaData</td><td>MetaDataValue</td><td>N</td><td/><td/><td/><td/><td>Text</td><td/><td>This is the pbMDData  item in the METADATA_RECORD structure</td></row>
 		<row><td>ISIISMetaData</td><td>Order</td><td>N</td><td/><td/><td/><td/><td/><td/><td>Use this column to order the meta data properties.</td></row>
+		<row><td>ISIISWebServiceExtension</td><td>Attributes</td><td>N</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISIISWebServiceExtension</td><td>Component_</td><td>N</td><td/><td/><td>Component</td><td>1</td><td>Text</td><td/><td>Foreign key into Component table</td></row>
+		<row><td>ISIISWebServiceExtension</td><td>Description</td><td>N</td><td/><td/><td/><td/><td>Text</td><td/><td>Localizable Description</td></row>
+		<row><td>ISIISWebServiceExtension</td><td>File</td><td>N</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISIISWebServiceExtension</td><td>Group</td><td>N</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISIISWebServiceExtension</td><td>WebServiceExtension</td><td>N</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISInstallScriptAction</td><td>EntryPoint</td><td>N</td><td/><td/><td/><td/><td>Text</td><td/><td>This is a foreign key to the target column in the CustomAction table</td></row>
 		<row><td>ISInstallScriptAction</td><td>Source</td><td>N</td><td/><td/><td/><td/><td>Formatted</td><td/><td>This is column points to the source file for the DLLWrapper Custom Action</td></row>
 		<row><td>ISInstallScriptAction</td><td>Target</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>The function signature</td></row>
@@ -4121,6 +4269,10 @@
 		<row><td>ISRelease</td><td>Type</td><td>N</td><td>0</td><td>6</td><td/><td/><td/><td/><td>Release type (CDROM, Network, etc.).</td></row>
 		<row><td>ISRelease</td><td>URLLocation</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Media location via URL.</td></row>
 		<row><td>ISRelease</td><td>VersionCopyright</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Version stamp information.</td></row>
+		<row><td>ISReleaseASPublishInfo</td><td>ISProductConfiguration_</td><td>N</td><td/><td/><td>ISProductConfiguration</td><td>1</td><td>Text</td><td/><td>Foreign key into the ISProductConfiguration table.</td></row>
+		<row><td>ISReleaseASPublishInfo</td><td>ISRelease_</td><td>N</td><td/><td/><td>ISRelease</td><td>1</td><td>Text</td><td/><td>Foreign key into the ISRelease table.</td></row>
+		<row><td>ISReleaseASPublishInfo</td><td>Property</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>AS Repository property name</td></row>
+		<row><td>ISReleaseASPublishInfo</td><td>Value</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>AS Repository property value</td></row>
 		<row><td>ISReleaseExtended</td><td>Attributes</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>Bitfield holding boolean values for various release attributes.</td></row>
 		<row><td>ISReleaseExtended</td><td>CertPassword</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Digital certificate password</td></row>
 		<row><td>ISReleaseExtended</td><td>DigitalCertificateDBaseNS</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Path to cerificate database for Netscape digital  signature</td></row>
@@ -4132,7 +4284,7 @@
 		<row><td>ISReleaseExtended</td><td>DotNetLangaugePacks</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>.NET Redist language packs to include</td></row>
 		<row><td>ISReleaseExtended</td><td>DotNetRedistLocation</td><td>Y</td><td>0</td><td>3</td><td/><td/><td/><td/><td>Location of .NET framework Redist (Web, SetupExe, Source, None)</td></row>
 		<row><td>ISReleaseExtended</td><td>DotNetRedistURL</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>URL to .NET framework Redist</td></row>
-		<row><td>ISReleaseExtended</td><td>DotNetVersion</td><td>Y</td><td>0</td><td>1</td><td/><td/><td/><td/><td>Version of .NET framework Redist (1.0, 1.1)</td></row>
+		<row><td>ISReleaseExtended</td><td>DotNetVersion</td><td>Y</td><td>0</td><td>2</td><td/><td/><td/><td/><td>Version of .NET framework Redist (1.0, 1.1)</td></row>
 		<row><td>ISReleaseExtended</td><td>EngineLocation</td><td>Y</td><td>0</td><td>2</td><td/><td/><td/><td/><td>Location of msi engine (Web, SetupExe...)</td></row>
 		<row><td>ISReleaseExtended</td><td>ISEngineLocation</td><td>Y</td><td>0</td><td>2</td><td/><td/><td/><td/><td>Location of ISScript  engine (Web, SetupExe...)</td></row>
 		<row><td>ISReleaseExtended</td><td>ISEngineURL</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>URL to InstallShield scripting engine</td></row>
@@ -4160,6 +4312,7 @@
 		<row><td>ISReleasePublishInfo</td><td>Repository</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Repository which to  publish the built merge module</td></row>
 		<row><td>ISSQLConnection</td><td>Attributes</td><td>N</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLConnection</td><td>Authentication</td><td>N</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISSQLConnection</td><td>BatchSeparator</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLConnection</td><td>CmdTimeout</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLConnection</td><td>Comments</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLConnection</td><td>Database</td><td>N</td><td/><td/><td/><td/><td/><td/><td/></row>
@@ -4183,14 +4336,20 @@
 		<row><td>ISSQLDBMetaData</td><td>AdoCxnUserID</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLDBMetaData</td><td>AdoCxnWindowsSecurity</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLDBMetaData</td><td>AdoDriverName</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISSQLDBMetaData</td><td>CreateDbCmd</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLDBMetaData</td><td>DisplayName</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISSQLDBMetaData</td><td>DsnODBCName</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISSQLDBMetaData</td><td>ISAttributes</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLDBMetaData</td><td>ISSQLDBMetaData</td><td>N</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLDBMetaData</td><td>LocalInstanceNames</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISSQLDBMetaData</td><td>SwitchDbCmd</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLDBMetaData</td><td>TestDatabaseCmd</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLDBMetaData</td><td>TestTableCmd</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISSQLDBMetaData</td><td>TestTableCmd2</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLDBMetaData</td><td>VersionBeginToken</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLDBMetaData</td><td>VersionEndToken</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLDBMetaData</td><td>VersionInfoCmd</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISSQLDBMetaData</td><td>WinAuthentUserId</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLRequirement</td><td>Attributes</td><td>N</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSQLRequirement</td><td>ISSQLConnectionDBServer_</td><td>Y</td><td/><td/><td>ISSQLConnectionDBServer</td><td>1</td><td/><td/><td/></row>
 		<row><td>ISSQLRequirement</td><td>ISSQLConnection_</td><td>N</td><td/><td/><td>ISSQLConnection</td><td>1</td><td/><td/><td/></row>
@@ -4241,6 +4400,13 @@
 		<row><td>ISSetupPrerequisites</td><td>ISBuildSourcePath</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSetupPrerequisites</td><td>ISSetupPrerequisites</td><td>N</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>ISSetupPrerequisites</td><td>Order</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
+		<row><td>ISSetupType</td><td>Comments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>User Comments.</td></row>
+		<row><td>ISSetupType</td><td>Description</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Longer descriptive text describing a visible feature item.</td></row>
+		<row><td>ISSetupType</td><td>Display</td><td>N</td><td>0</td><td>32767</td><td/><td/><td/><td/><td>Numeric sort order, used to force a specific display ordering.</td></row>
+		<row><td>ISSetupType</td><td>Display_Name</td><td>Y</td><td/><td/><td/><td/><td>Formatted</td><td/><td>A string used to set the initial text contained within a control (if appropriate).</td></row>
+		<row><td>ISSetupType</td><td>ISSetupType</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Primary key used to identify a particular feature record.</td></row>
+		<row><td>ISSetupTypeFeatures</td><td>Feature_</td><td>N</td><td/><td/><td>Feature</td><td>1</td><td>Identifier</td><td/><td>Foreign key into Feature table.</td></row>
+		<row><td>ISSetupTypeFeatures</td><td>ISSetupType_</td><td>N</td><td/><td/><td>ISSetupType</td><td>1</td><td>Identifier</td><td/><td>Foreign key into ISSetupType table.</td></row>
 		<row><td>ISStorages</td><td>ISBuildSourcePath</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>Path to the file to stream into sub-storage</td></row>
 		<row><td>ISStorages</td><td>Name</td><td>N</td><td/><td/><td/><td/><td/><td/><td>Name of the sub-storage key</td></row>
 		<row><td>ISString</td><td>Comment</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Comment</td></row>
@@ -4301,6 +4467,7 @@
 		<row><td>ISXmlFile</td><td>FileName</td><td>N</td><td/><td/><td/><td/><td>Text</td><td/><td>Localized XML file name</td></row>
 		<row><td>ISXmlFile</td><td>ISAttributes</td><td>Y</td><td/><td/><td/><td/><td>Number</td><td/><td>Internal XML file attributes</td></row>
 		<row><td>ISXmlFile</td><td>ISXmlFile</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Primary key, non-localized,internal token for Xml file</td></row>
+		<row><td>ISXmlFile</td><td>SelectionNamespaces</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Selection namespaces</td></row>
 		<row><td>ISXmlLocator</td><td>Attribute</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>The name of an attribute within the XML element.</td></row>
 		<row><td>ISXmlLocator</td><td>Element</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>XPath query that will locate an element in an XML file.</td></row>
 		<row><td>ISXmlLocator</td><td>ISAttributes</td><td>Y</td><td/><td/><td/><td/><td/><td>0;1;2</td><td/></row>
@@ -4327,18 +4494,14 @@
 		<row><td>InstallExecuteSequence</td><td>Action</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Name of action to invoke, either in the engine or the handler DLL.</td></row>
 		<row><td>InstallExecuteSequence</td><td>Condition</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.</td></row>
 		<row><td>InstallExecuteSequence</td><td>ISAttributes</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>This is used to store MM Custom Action Types</td></row>
-		<row><td>InstallExecuteSequence</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td dt:dt="bin.base64" md5="ee654261ffce9c7f08d4789d0f5b202c">
-QQB1AHQAaABvAHIAGSBzACAAYwBvAG0AbQBlAG4AdABzACAAbwBuACAAdABoAGkAcwAgAFMAZQBxAHUAZQBuAGMAZQAuAA==
-			</td></row>
+		<row><td>InstallExecuteSequence</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Author’s comments on this Sequence.</td></row>
 		<row><td>InstallExecuteSequence</td><td>Sequence</td><td>Y</td><td>-4</td><td>32767</td><td/><td/><td/><td/><td>Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.</td></row>
 		<row><td>InstallShield</td><td>Property</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Name of property, uppercase if settable by launcher or loader.</td></row>
 		<row><td>InstallShield</td><td>Value</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>String value for property.</td></row>
 		<row><td>InstallUISequence</td><td>Action</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Name of action to invoke, either in the engine or the handler DLL.</td></row>
 		<row><td>InstallUISequence</td><td>Condition</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.</td></row>
 		<row><td>InstallUISequence</td><td>ISAttributes</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>This is used to store MM Custom Action Types</td></row>
-		<row><td>InstallUISequence</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td dt:dt="bin.base64" md5="ee654261ffce9c7f08d4789d0f5b202c">
-QQB1AHQAaABvAHIAGSBzACAAYwBvAG0AbQBlAG4AdABzACAAbwBuACAAdABoAGkAcwAgAFMAZQBxAHUAZQBuAGMAZQAuAA==
-			</td></row>
+		<row><td>InstallUISequence</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Author’s comments on this Sequence.</td></row>
 		<row><td>InstallUISequence</td><td>Sequence</td><td>Y</td><td>-4</td><td>32767</td><td/><td/><td/><td/><td>Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.</td></row>
 		<row><td>IsolatedComponent</td><td>Component_Application</td><td>N</td><td/><td/><td>Component</td><td>1</td><td>Identifier</td><td/><td>Key to Component table item for application</td></row>
 		<row><td>IsolatedComponent</td><td>Component_Shared</td><td>N</td><td/><td/><td>Component</td><td>1</td><td>Identifier</td><td/><td>Key to Component table item to be isolated</td></row>
@@ -4388,7 +4551,7 @@
 		<row><td>MsiDigitalSignature</td><td>Hash</td><td>Y</td><td/><td/><td/><td/><td>Binary</td><td/><td>The encoded hash blob from the digital signature</td></row>
 		<row><td>MsiDigitalSignature</td><td>SignObject</td><td>N</td><td/><td/><td/><td/><td>Text</td><td/><td>Foreign key to Media table</td></row>
 		<row><td>MsiDigitalSignature</td><td>Table</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Reference to another table name (only Media table is supported)</td></row>
-		<row><td>MsiDriverPackages</td><td>Component</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Primary key used to identify a particular component record.</td></row>
+		<row><td>MsiDriverPackages</td><td>Component</td><td>N</td><td/><td/><td>Component</td><td>1</td><td>Identifier</td><td/><td>Primary key used to identify a particular component record.</td></row>
 		<row><td>MsiDriverPackages</td><td>Flags</td><td>N</td><td/><td/><td/><td/><td/><td/><td>Driver package flags</td></row>
 		<row><td>MsiDriverPackages</td><td>ReferenceComponents</td><td>Y</td><td/><td/><td/><td/><td/><td/><td/></row>
 		<row><td>MsiDriverPackages</td><td>Sequence</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>Installation sequence number</td></row>
@@ -4479,7 +4642,7 @@
 		<row><td>Registry</td><td>Name</td><td>Y</td><td/><td/><td/><td/><td>Formatted</td><td/><td>The registry value name.</td></row>
 		<row><td>Registry</td><td>Registry</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Primary key, non-localized token.</td></row>
 		<row><td>Registry</td><td>Root</td><td>N</td><td>-1</td><td>3</td><td/><td/><td/><td/><td>The predefined root key for the registry value, one of rrkEnum.</td></row>
-		<row><td>Registry</td><td>Value</td><td>Y</td><td/><td/><td/><td/><td>Formatted</td><td/><td>The registry value.</td></row>
+		<row><td>Registry</td><td>Value</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>The registry value.</td></row>
 		<row><td>RemoveFile</td><td>Component_</td><td>N</td><td/><td/><td>Component</td><td>1</td><td>Identifier</td><td/><td>Foreign key referencing Component that controls the file to be removed.</td></row>
 		<row><td>RemoveFile</td><td>DirProperty</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Name of a property whose value is assumed to resolve to the full pathname to the folder of the file to be removed.</td></row>
 		<row><td>RemoveFile</td><td>FileKey</td><td>N</td><td/><td/><td/><td/><td>Identifier</td><td/><td>Primary key used to identify a particular file entry</td></row>
@@ -4533,9 +4696,7 @@
 		<row><td>Shortcut</td><td>Directory_</td><td>N</td><td/><td/><td>Directory</td><td>1</td><td>Identifier</td><td/><td>Foreign key into the Directory table denoting the directory where the shortcut file is created.</td></row>
 		<row><td>Shortcut</td><td>Hotkey</td><td>Y</td><td>0</td><td>32767</td><td/><td/><td/><td/><td>The hotkey for the shortcut. It has the virtual-key code for the key in the low-order byte, and the modifier flags in the high-order byte. </td></row>
 		<row><td>Shortcut</td><td>ISAttributes</td><td>Y</td><td/><td/><td/><td/><td/><td/><td>This is used to store Installshield custom properties of a shortcut.  Mainly used in pro project types.</td></row>
-		<row><td>Shortcut</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td dt:dt="bin.base64" md5="cb9acc27950b903a6080754a56990866">
-QQB1AHQAaABvAHIAGSBzACAAYwBvAG0AbQBlAG4AdABzACAAbwBuACAAdABoAGkAcwAgAFMAaABvAHIAdABjAHUAdAAuAA==
-			</td></row>
+		<row><td>Shortcut</td><td>ISComments</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>Author’s comments on this Shortcut.</td></row>
 		<row><td>Shortcut</td><td>ISShortcutName</td><td>Y</td><td/><td/><td/><td/><td>Text</td><td/><td>A non-unique name for the shortcut.  Mainly used by pro pro project types.</td></row>
 		<row><td>Shortcut</td><td>IconIndex</td><td>Y</td><td>-32767</td><td>32767</td><td/><td/><td/><td/><td>The icon index for the shortcut.</td></row>
 		<row><td>Shortcut</td><td>Icon_</td><td>Y</td><td/><td/><td>Icon</td><td>1</td><td>Identifier</td><td/><td>Foreign key into the File table denoting the external icon file for the shortcut.</td></row>

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/iis/isapi.dsp
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/iis/isapi.dsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/iis/isapi.dsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -53,7 +53,7 @@
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib mswsock.lib /nologo /base:"0x6A6B0000" /dll /debug /machine:I386 /out:"Release\isapi_redirect.dll"
+# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib mswsock.lib strsafe.lib /nologo /base:"0x6A6B0000" /dll /debug /machine:I386 /out:"Release\isapi_redirect.dll"
 
 !ELSEIF  "$(CFG)" == "isapi - Win32 Debug"
 
@@ -79,7 +79,7 @@
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib mswsock.lib /nologo /base:"0x6A6B0000" /dll /incremental:no /debug /machine:I386 /out:"Debug\isapi_redirect.dll"
+# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib mswsock.lib strsafe.lib /nologo /base:"0x6A6B0000" /dll /incremental:no /debug /machine:I386 /out:"Debug\isapi_redirect.dll"
 
 !ENDIF 
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/iis/isapi_install.vbs
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/iis/isapi_install.vbs	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/iis/isapi_install.vbs	2007-05-21 10:51:24 UTC (rev 3531)
@@ -17,7 +17,7 @@
 ' =========================================================================
 ' Description: Install script for Tomcat ISAPI redirector                              
 ' Author:      Peter S. Horne <horneps at yahoo.com.au>                           
-' Version:     $Revision: 299505 $                                           
+' Version:     $Revision: 438903 $                                           
 ' =========================================================================
 '
 ' This script automatically installs the tomcat isapi_redirector for use in

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/iis/isapi_redirect.rc
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/iis/isapi_redirect.rc	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/iis/isapi_redirect.rc	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,4 +1,4 @@
-#define JK_COPYRIGHT "Copyright 2000-2006 The Apache Software " \
+#define JK_COPYRIGHT "Copyright 2000-2007 The Apache Software " \
                      "Foundation or its licensors, as applicable."
 
 #define JK_LICENSE "Licensed under the Apache License, Version 2.0 " \
@@ -14,13 +14,13 @@
                     "specific language governing permissions and " \
                     "limitations under the License."
 
-#define JK_VERSION_STR  "1.2.19"
+#define JK_VERSION_STR  "1.2.22"
 #define JK_DLL_BASENAME "isapi_redirect-" JK_VERSION_STR
 
 
 1 VERSIONINFO
- FILEVERSION 1,2,19,0
- PRODUCTVERSION 1,2,19,0
+ FILEVERSION 1,2,22,0
+ PRODUCTVERSION 1,2,22,0
  FILEFLAGSMASK 0x3fL
 #if defined(_DEBUG)
  FILEFLAGS 0x01L

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/iis/jk_isapi_plugin.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/iis/jk_isapi_plugin.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/iis/jk_isapi_plugin.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -20,7 +21,7 @@
  * Author:      Larry Isaacs <larryi at apache.org>                           *
  * Author:      Ignacio J. Ortega <nacho at apache.org>                       *
  * Author:      Mladen Turk <mturk at apache.org>                             *
- * Version:     $Revision: 438903 $                                          *
+ * Version:     $Revision: 511888 $                                        *
  ***************************************************************************/
 
 // This define is needed to include wincrypt,h, needed to get client certificates
@@ -39,10 +40,19 @@
 #include "jk_uri_worker_map.h"
 #include "jk_shm.h"
 
+#include <strsafe.h>
+
 #define VERSION_STRING "Jakarta/ISAPI/" JK_VERSTRING
 #define SHM_DEF_NAME   "JKISAPISHMEM"
 #define DEFAULT_WORKER_NAME ("ajp13")
+
 /*
+ * This is default value found inside httpd.conf
+ * for MaxClients
+ */
+#define DEFAULT_WORKER_THREADS  250
+
+/*
  * We use special headers to pass values from the filter to the
  * extension. These values are:
  *
@@ -62,28 +72,34 @@
 #define HEADER_TEMPLATE      ("%s%p:")
 #define HTTP_HEADER_TEMPLATE ("HTTP_%s%p")
 
-static char URI_HEADER_NAME[_MAX_FNAME];
-static char QUERY_HEADER_NAME[_MAX_FNAME];
-static char WORKER_HEADER_NAME[_MAX_FNAME];
-static char TOMCAT_TRANSLATE_HEADER_NAME[_MAX_FNAME];
+static char URI_HEADER_NAME[MAX_PATH];
+static char QUERY_HEADER_NAME[MAX_PATH];
+static char WORKER_HEADER_NAME[MAX_PATH];
+static char TOMCAT_TRANSLATE_HEADER_NAME[MAX_PATH];
 
-static char HTTP_URI_HEADER_NAME[_MAX_FNAME];
-static char HTTP_QUERY_HEADER_NAME[_MAX_FNAME];
-static char HTTP_WORKER_HEADER_NAME[_MAX_FNAME];
+static char HTTP_URI_HEADER_NAME[MAX_PATH];
+static char HTTP_QUERY_HEADER_NAME[MAX_PATH];
+static char HTTP_WORKER_HEADER_NAME[MAX_PATH];
 
 #define REGISTRY_LOCATION       ("Software\\Apache Software Foundation\\Jakarta Isapi Redirector\\1.0")
+#define W3SVC_REGISTRY_KEY      ("SYSTEM\\CurrentControlSet\\Services\\W3SVC\\Parameters")
 #define EXTENSION_URI_TAG       ("extension_uri")
 
 #define URI_SELECT_TAG              ("uri_select")
 #define URI_SELECT_PARSED_VERB      ("parsed")
 #define URI_SELECT_UNPARSED_VERB    ("unparsed")
 #define URI_SELECT_ESCAPED_VERB     ("escaped")
-#define URI_REWRITE_VERB            ("rewrite_rule_file")
+#define URI_REWRITE_TAG             ("rewrite_rule_file")
+#define SHM_SIZE_TAG                ("shm_size")
+#define WORKER_MOUNT_RELOAD_TAG     ("worker_mount_reload")
+#define STRIP_SESSION_TAG           ("strip_session")
+#define AUTH_COMPLETE_TAG           ("auth_complete")
 
-#define TRANSLATE_HEADER                              ("Translate:")
-#define TRANSLATE_HEADER_NAME                         ("Translate")
-#define TRANSLATE_HEADER_NAME_LC                      ("translate")
 
+#define TRANSLATE_HEADER            ("Translate:")
+#define TRANSLATE_HEADER_NAME       ("Translate")
+#define TRANSLATE_HEADER_NAME_LC    ("translate")
+
 #define BAD_REQUEST     -1
 #define BAD_PATH        -2
 #define MAX_SERVERNAME  128
@@ -134,7 +150,6 @@
 static int using_ini_file = JK_FALSE;
 static int is_inited = JK_FALSE;
 static int is_mapread = JK_FALSE;
-static int iis5 = -1;
 
 static jk_uri_worker_map_t *uw_map = NULL;
 static jk_map_t *workers_map = NULL;
@@ -151,7 +166,12 @@
 static int log_level = JK_LOG_DEF_LEVEL;
 static char worker_file[MAX_PATH * 2];
 static char worker_mount_file[MAX_PATH * 2] = {0};
+static int  worker_mount_reload = JK_URIMAP_DEF_RELOAD;
 static char rewrite_rule_file[MAX_PATH * 2] = {0};
+static int shm_config_size = JK_SHM_DEF_SIZE;
+static int strip_session = 0;
+static DWORD auth_notification_flags = 0;
+static int   use_auth_notification_flags = 1;
 
 #define URI_SELECT_OPT_PARSED       0
 #define URI_SELECT_OPT_UNPARSED     1
@@ -198,10 +218,20 @@
 
 static int read_registry_init_data(void);
 
+static int get_config_parameter(LPVOID src, const char *tag,
+                                char *val, DWORD sz);
+
+static int get_config_bool(LPVOID src, const char *tag, int def);
+
+static int get_config_int(LPVOID src, const char *tag, int def);
+
 static int get_registry_config_parameter(HKEY hkey,
                                          const char *tag, char *b, DWORD sz);
 
+static int get_registry_config_number(HKEY hkey, const char *tag,
+                                         int *val);
 
+
 static int get_server_value(LPEXTENSION_CONTROL_BLOCK lpEcb,
                             char *name,
                             char *buf, DWORD bufsz);
@@ -211,6 +241,7 @@
 static int base64_encode_cert(char *encoded,
                               const char *string, int len);
 
+static int get_auth_flags();
 
 static char x2c(const char *what)
 {
@@ -457,10 +488,10 @@
 
 static int uri_is_web_inf(const char *uri)
 {
-    if (stristr(uri, "web-inf")) {
+    if (stristr(uri, "/web-inf")) {
         return JK_TRUE;
     }
-    if (stristr(uri, "meta-inf")) {
+    if (stristr(uri, "/meta-inf")) {
         return JK_TRUE;
     }
 
@@ -500,12 +531,13 @@
     }
 
     if (s && s->ws_private) {
+        int rv = JK_TRUE;
         isapi_private_data_t *p = s->ws_private;
         if (!p->request_started) {
-            size_t len_of_status;
+            HSE_SEND_HEADER_EX_INFO hi;
             char *status_str;
-            char *headers_str;
-
+            char *headers_str = NULL;
+            BOOL keep_alive = FALSE;
             p->request_started = JK_TRUE;
 
             /*
@@ -514,9 +546,10 @@
             if (!reason) {
                 reason = status_reason(status);
             }
-            status_str = (char *)_alloca((6 + strlen(reason)) * sizeof(char));
-            sprintf(status_str, "%d %s", status, reason);
-            len_of_status = strlen(status_str);
+            status_str = (char *)malloc((6 + strlen(reason)));
+            StringCbPrintf(status_str, 6 + strlen(reason), "%d %s", status, reason);
+            hi.pszStatus = status_str;
+            hi.cchStatus = (DWORD)strlen(status_str);
 
             /*
              * Create response headers string
@@ -526,39 +559,43 @@
                 for (i = 0, len_of_headers = 0; i < num_of_headers; i++) {
                     len_of_headers += strlen(header_names[i]);
                     len_of_headers += strlen(header_values[i]);
-                    len_of_headers += 4;        /* extra for colon, space and crlf */
+                    len_of_headers += 4;   /* extra for colon, space and crlf */
                 }
 
-                len_of_headers += 3;    /* crlf and terminating null char */
-                headers_str = (char *)_alloca(len_of_headers * sizeof(char));
+                len_of_headers += 3;       /* crlf and terminating null char */
+                headers_str = (char *)malloc(len_of_headers);
                 headers_str[0] = '\0';
 
                 for (i = 0; i < num_of_headers; i++) {
-                    strcat(headers_str, header_names[i]);
-                    strcat(headers_str, ": ");
-                    strcat(headers_str, header_values[i]);
-                    strcat(headers_str, crlf);
+                    StringCbCat(headers_str, len_of_headers, header_names[i]);
+                    StringCbCat(headers_str, len_of_headers, ": ");
+                    StringCbCat(headers_str, len_of_headers, header_values[i]);
+                    StringCbCat(headers_str, len_of_headers, crlf);
                 }
-                strcat(headers_str, crlf);
+                StringCbCat(headers_str, len_of_headers, crlf);
+                hi.pszHeader = headers_str;
+                hi.cchHeader = (DWORD)strlen(headers_str);
             }
             else {
-                headers_str = crlf;
+                hi.pszHeader = crlf;
+                hi.cchHeader = 2;
             }
-
+            hi.fKeepConn = keep_alive;
             if (!p->lpEcb->ServerSupportFunction(p->lpEcb->ConnID,
-                                                 HSE_REQ_SEND_RESPONSE_HEADER,
-                                                 status_str,
-                                                 (LPDWORD) &len_of_status,
-                                                 (LPDWORD) headers_str)) {
+                                                 HSE_REQ_SEND_RESPONSE_HEADER_EX,
+                                                 &hi,
+                                                 NULL, NULL)) {
                 jk_log(logger, JK_LOG_ERROR,
-                       "HSE_REQ_SEND_RESPONSE_HEADER failed");
-                JK_TRACE_EXIT(logger);
-                return JK_FALSE;
+                       "HSE_REQ_SEND_RESPONSE_HEADER_EX failed");
+                rv = JK_FALSE;
             }
+            if (headers_str)
+                free(headers_str);
+            if (status_str)
+                free(status_str);
         }
         JK_TRACE_EXIT(logger);
-        return JK_TRUE;
-
+        return rv;
     }
 
     JK_LOG_NULL_PARAMS(logger);
@@ -661,6 +698,7 @@
 
 BOOL WINAPI GetFilterVersion(PHTTP_FILTER_VERSION pVer)
 {
+    BOOL rv = TRUE;
     ULONG http_filter_revision = HTTP_FILTER_REVISION;
 
     pVer->dwFilterVersion = pVer->dwServerFilterVersion;
@@ -668,21 +706,26 @@
     if (pVer->dwFilterVersion > http_filter_revision) {
         pVer->dwFilterVersion = http_filter_revision;
     }
-
-    pVer->dwFlags = SF_NOTIFY_ORDER_HIGH |
-                    SF_NOTIFY_SECURE_PORT |
-                    SF_NOTIFY_NONSECURE_PORT |
-                    SF_NOTIFY_PREPROC_HEADERS |
-                    SF_NOTIFY_LOG |
-                    SF_NOTIFY_AUTH_COMPLETE;
-
-    strcpy(pVer->lpszFilterDesc, VERSION_STRING);
-
     if (!is_inited) {
-        return initialize_extension();
+        rv = initialize_extension();
     }
+    if (auth_notification_flags == SF_NOTIFY_AUTH_COMPLETE) {
+        pVer->dwFlags = SF_NOTIFY_ORDER_HIGH |
+                        SF_NOTIFY_SECURE_PORT |
+                        SF_NOTIFY_NONSECURE_PORT |
+                        SF_NOTIFY_PREPROC_HEADERS |
+                        SF_NOTIFY_LOG |
+                        SF_NOTIFY_AUTH_COMPLETE;
+    }
+    else {
+        pVer->dwFlags = SF_NOTIFY_ORDER_HIGH |
+                        SF_NOTIFY_SECURE_PORT |
+                        SF_NOTIFY_NONSECURE_PORT |
+                        SF_NOTIFY_PREPROC_HEADERS;
+    }
 
-    return TRUE;
+    StringCbCopy(pVer->lpszFilterDesc, SF_MAX_FILTER_DESC_LEN, VERSION_STRING);
+    return rv;
 }
 
 static int simple_rewrite(char *uri)
@@ -693,9 +736,9 @@
         for (i = 0; i < jk_map_size(rewrite_map); i++) {
             const char *src = jk_map_name_at(rewrite_map, i);
             if (strncmp(uri, src, strlen(src)) == 0) {
-                strcpy(buf, jk_map_value_at(rewrite_map, i));
-                strcat(buf, uri + strlen(src));
-                strcpy(uri, buf);
+                StringCbCopy(buf, INTERNET_MAX_URL_LENGTH, jk_map_value_at(rewrite_map, i));
+                StringCbCat(buf,  INTERNET_MAX_URL_LENGTH, uri + strlen(src));
+                StringCbCopy(uri, INTERNET_MAX_URL_LENGTH, buf);
                 return 1;
             }
         }
@@ -721,28 +764,7 @@
         if (!is_mapread)
             is_inited = JK_FALSE;
     }
-
-    if (is_inited && (iis5 < 0)) {
-        char serverSoftware[256];
-        DWORD dwLen = sizeof(serverSoftware);
-        iis5 = 0;
-        if (pfc->
-            GetServerVariable(pfc, SERVER_SOFTWARE, serverSoftware, &dwLen)) {
-            iis5 = (atof(serverSoftware + 14) >= 5.0);
-            if (iis5) {
-                jk_log(logger, JK_LOG_DEBUG, "Detected IIS >= 5.0");
-            }
-            else {
-                jk_log(logger, JK_LOG_DEBUG, "Detected IIS < 5.0");
-            }
-        }
-    }
-
-    if (is_inited &&
-        (((SF_NOTIFY_PREPROC_HEADERS == dwNotificationType) && !iis5) ||
-         ((SF_NOTIFY_AUTH_COMPLETE == dwNotificationType) && iis5)
-        )
-        ) {
+    if (auth_notification_flags == dwNotificationType) {
         char uri[INTERNET_MAX_URL_LENGTH];
         char snuri[INTERNET_MAX_URL_LENGTH] = "/";
         char Host[INTERNET_MAX_URL_LENGTH] = "";
@@ -764,7 +786,7 @@
         DWORD szPort = sizeof(Port);
         DWORD szTranslate = sizeof(Translate);
 
-        if (iis5) {
+        if (auth_notification_flags == SF_NOTIFY_AUTH_COMPLETE) {
             GetHeader =
                 ((PHTTP_FILTER_AUTH_COMPLETE_INFO) pvNotification)->GetHeader;
             SetHeader =
@@ -804,7 +826,7 @@
             query = strchr(uri, '?');
             if (query) {
                 *query++ = '\0';
-                strcpy(squery, query);
+                StringCbCopy(squery, INTERNET_MAX_URL_LENGTH, query);
             }
 
             rc = unescape_url(uri);
@@ -842,12 +864,12 @@
             }
             szPort = atoi(Port);
             if (szPort != 80 && szPort != 443 && szHost > 0) {
-                strcat(Host, ":");
-                strcat(Host, Port);
+                StringCbCat(Host, INTERNET_MAX_URL_LENGTH, ":");
+                StringCbCat(Host, INTERNET_MAX_URL_LENGTH, Port);
             }
             if (szHost > 0) {
-                strcat(snuri, Host);
-                strcat(snuri, uri);
+                StringCbCat(snuri, INTERNET_MAX_URL_LENGTH, Host);
+                StringCbCat(snuri, INTERNET_MAX_URL_LENGTH, uri);
                 if (JK_IS_DEBUG_LEVEL(logger))
                     jk_log(logger, JK_LOG_DEBUG,
                            "Virtual Host redirection of %s",
@@ -884,9 +906,10 @@
                 char *forwardURI;
 
                 /* This is a servlet, should redirect ... */
-                jk_log(logger, JK_LOG_DEBUG,
-                       "[%s] is a servlet url - should redirect to %s",
-                       uri, worker);
+                if (JK_IS_DEBUG_LEVEL(logger))
+                    jk_log(logger, JK_LOG_DEBUG,
+                        "[%s] is a servlet url - should redirect to %s",
+                        uri, worker);
 
                 /* get URI we should forward */
                 if (uri_select_option == URI_SELECT_OPT_UNPARSED) {
@@ -927,7 +950,7 @@
                  */
                 if (JK_IS_DEBUG_LEVEL(logger)) {
                     char duri[INTERNET_MAX_URL_LENGTH];
-                    strcpy(duri, forwardURI);
+                    StringCbCopy(duri, INTERNET_MAX_URL_LENGTH, forwardURI);
                     if (simple_rewrite(forwardURI)) {
                         jk_log(logger, JK_LOG_DEBUG,
                                "rewriten URI [%s]->[%s]",
@@ -973,20 +996,31 @@
                         return SF_STATUS_REQ_ERROR;
                     }
                     memset(ld, 0, sizeof(isapi_log_data_t));
-                    strcpy(ld->uri, forwardURI);
-                    strcpy(ld->query, squery);
+                    StringCbCopy(ld->uri, INTERNET_MAX_URL_LENGTH, forwardURI);
+                    StringCbCopy(ld->query, INTERNET_MAX_URL_LENGTH, squery);
                     pfc->pFilterContext = ld;
                 } else {
                     isapi_log_data_t *ld = (isapi_log_data_t *)pfc->pFilterContext;
                     memset(ld, 0, sizeof(isapi_log_data_t));
-                    strcpy(ld->uri, forwardURI);
-                    strcpy(ld->query, squery);
+                    StringCbCopy(ld->uri, INTERNET_MAX_URL_LENGTH, forwardURI);
+                    StringCbCopy(ld->query, INTERNET_MAX_URL_LENGTH, squery);
                 }
             }
             else {
                 if (JK_IS_DEBUG_LEVEL(logger))
                     jk_log(logger, JK_LOG_DEBUG,
                            "[%s] is not a servlet url", uri);
+                if (strip_session) {
+                    char *jsessionid = strstr(uri, JK_PATH_SESSION_IDENTIFIER);
+                    if (jsessionid) {
+                        if (JK_IS_DEBUG_LEVEL(logger))
+                            jk_log(logger, JK_LOG_DEBUG,
+                                   "removing session identifier [%s] for non servlet url [%s]",
+                                   jsessionid, uri);
+                        *jsessionid = '\0';
+                        SetHeader(pfc, "url", uri);
+                    }
+                }
             }
         }
     }
@@ -1006,7 +1040,7 @@
 {
     pVer->dwExtensionVersion = MAKELONG(HSE_VERSION_MINOR, HSE_VERSION_MAJOR);
 
-    strcpy(pVer->lpszExtensionDesc, VERSION_STRING);
+    StringCbCopy(pVer->lpszExtensionDesc, HSE_MAX_EXT_DLL_NAME_LEN, VERSION_STRING);
 
 
     if (!is_inited) {
@@ -1026,7 +1060,7 @@
 
     /* Initialise jk */
     if (is_inited && !is_mapread) {
-        char serverName[MAX_SERVERNAME];
+        char serverName[MAX_SERVERNAME] = { 0 };
         DWORD dwLen = sizeof(serverName);
         if (lpEcb->
             GetServerVariable(lpEcb->ConnID, SERVER_NAME, serverName,
@@ -1074,8 +1108,9 @@
                     if (e->service(e, &s, logger, &is_error)) {
                         rc = HSE_STATUS_SUCCESS;
                         lpEcb->dwHttpStatusCode = HTTP_STATUS_OK;
-                        jk_log(logger, JK_LOG_DEBUG,
-                               "service() returned OK");
+                        if (JK_IS_DEBUG_LEVEL(logger))
+                            jk_log(logger, JK_LOG_DEBUG,
+                                   "service() returned OK");
                     }
                     else {
                         lpEcb->dwHttpStatusCode = is_error;
@@ -1084,6 +1119,11 @@
                     }
                     e->done(&e, logger);
                 }
+                else {
+                    jk_log(logger, JK_LOG_ERROR,
+                        "Failed to obtain an endpoint to service request - "
+                        "your connection_pool_size is probably less than the threads in your web server!");
+                }
             }
             else {
                 jk_log(logger, JK_LOG_ERROR,
@@ -1091,6 +1131,10 @@
                        worker_name);
             }
         }
+        else {
+            jk_log(logger, JK_LOG_ERROR,
+                "failed to init service for request.");
+         }
         jk_close_pool(&private_data.p);
     }
     else {
@@ -1141,8 +1185,8 @@
     BOOL fReturn = TRUE;
     char drive[_MAX_DRIVE];
     char dir[_MAX_DIR];
-    char fname[_MAX_FNAME];
-    char file_name[_MAX_PATH];
+    char fname[MAX_PATH];
+    char file_name[MAX_PATH];
 
     UNREFERENCED_PARAMETER(lpReserved);
 
@@ -1156,14 +1200,14 @@
             fReturn = JK_FALSE;
         }
         /* Construct redirector headers to use for this redirector instance */
-        sprintf(URI_HEADER_NAME, HEADER_TEMPLATE, URI_HEADER_NAME_BASE, hInst);
-        sprintf(QUERY_HEADER_NAME, HEADER_TEMPLATE, QUERY_HEADER_NAME_BASE, hInst);
-        sprintf(WORKER_HEADER_NAME, HEADER_TEMPLATE, WORKER_HEADER_NAME_BASE, hInst);
-        sprintf(TOMCAT_TRANSLATE_HEADER_NAME, HEADER_TEMPLATE, TOMCAT_TRANSLATE_HEADER_NAME_BASE, hInst);
+        StringCbPrintf(URI_HEADER_NAME, MAX_PATH, HEADER_TEMPLATE, URI_HEADER_NAME_BASE, hInst);
+        StringCbPrintf(QUERY_HEADER_NAME, MAX_PATH, HEADER_TEMPLATE, QUERY_HEADER_NAME_BASE, hInst);
+        StringCbPrintf(WORKER_HEADER_NAME, MAX_PATH, HEADER_TEMPLATE, WORKER_HEADER_NAME_BASE, hInst);
+        StringCbPrintf(TOMCAT_TRANSLATE_HEADER_NAME, MAX_PATH, HEADER_TEMPLATE, TOMCAT_TRANSLATE_HEADER_NAME_BASE, hInst);
 
-        sprintf(HTTP_URI_HEADER_NAME, HTTP_HEADER_TEMPLATE, URI_HEADER_NAME_BASE, hInst);
-        sprintf(HTTP_QUERY_HEADER_NAME, HTTP_HEADER_TEMPLATE, QUERY_HEADER_NAME_BASE, hInst);
-        sprintf(HTTP_WORKER_HEADER_NAME, HTTP_HEADER_TEMPLATE, WORKER_HEADER_NAME_BASE, hInst);
+        StringCbPrintf(HTTP_URI_HEADER_NAME, MAX_PATH, HTTP_HEADER_TEMPLATE, URI_HEADER_NAME_BASE, hInst);
+        StringCbPrintf(HTTP_QUERY_HEADER_NAME, MAX_PATH, HTTP_HEADER_TEMPLATE, QUERY_HEADER_NAME_BASE, hInst);
+        StringCbPrintf(HTTP_WORKER_HEADER_NAME, MAX_PATH, HTTP_HEADER_TEMPLATE, WORKER_HEADER_NAME_BASE, hInst);
 
     break;
     case DLL_PROCESS_DETACH:
@@ -1183,18 +1227,29 @@
 
 static int init_jk(char *serverName)
 {
+    char shm_name[MAX_PATH];
     int rc = JK_FALSE;
 
     if (!jk_open_file_logger(&logger, log_file, log_level)) {
         logger = NULL;
     }
-     /* Simulate shared memory
-      * For now use fixed size.
-      */
-     jk_shm_open(SHM_DEF_NAME, JK_SHM_DEF_SIZE, logger);
+    StringCbCopy(shm_name, MAX_PATH, SHM_DEF_NAME);
+    if (*serverName) {
+        size_t i;
+        StringCbCat(shm_name, MAX_PATH, "_");
+        StringCbCat(shm_name, MAX_PATH, serverName);
+        for(i = 0; i < strlen(shm_name); i++) {
+            shm_name[i] = toupper(shm_name[i]);
+            if (!isalnum(shm_name[i]))
+                shm_name[i] = '_';
+        }
+    }
+    /*
+     * Create named shared memory for each server
+     */
+    jk_shm_open(shm_name, shm_config_size, logger);
 
-     /* 10 is minimum supported on WINXP */
-     jk_set_worker_def_cache_size(10);
+    jk_set_worker_def_cache_size(DEFAULT_WORKER_THREADS);
 
     /* Logging the initialization type: registry or properties file in virtual dir
      */
@@ -1218,30 +1273,36 @@
     }
 
     if (rewrite_rule_file[0] && jk_map_alloc(&rewrite_map)) {
-        if (jk_map_read_properties(rewrite_map, rewrite_rule_file, NULL, logger)) {
+        if (jk_map_read_properties(rewrite_map, rewrite_rule_file, NULL, 1, logger)) {
             if (JK_IS_DEBUG_LEVEL(logger)) {
                 jk_log(logger, JK_LOG_DEBUG, "Loaded rewrite rule file %s.",
                        rewrite_rule_file);
 
             }
-            else {
-                jk_map_free(&rewrite_map);
-            }
         }
+        else {
+            jk_map_free(&rewrite_map);
+            rewrite_map = NULL;
+        }
     }
 
     if (uri_worker_map_alloc(&uw_map, NULL, logger)) {
         rc = JK_FALSE;
         uw_map->fname = worker_mount_file;
+        uw_map->reload = worker_mount_reload;
         if (worker_mount_file[0])
             rc = uri_worker_map_load(uw_map, logger);
     }
     if (rc) {
         rc = JK_FALSE;
         if (jk_map_alloc(&workers_map)) {
-            if (jk_map_read_properties(workers_map, worker_file, NULL, logger)) {
+            if (jk_map_read_properties(workers_map, worker_file, NULL, 1, logger)) {
                 /* we add the URI->WORKER MAP since workers using AJP14 will feed it */
 
+                if (jk_map_resolve_references(workers_map, "worker.", 1, 1, logger) == JK_FALSE) {
+                    jk_log(logger, JK_LOG_ERROR, "Error in resolving configuration references");
+                }
+
                 worker_env.uri_to_worker = uw_map;
                 worker_env.server_name = serverName;
 
@@ -1267,6 +1328,7 @@
 {
 
     if (read_registry_init_data()) {
+        auth_notification_flags = get_auth_flags();
         is_inited = JK_TRUE;
     }
     return is_inited;
@@ -1291,139 +1353,108 @@
 
 static int read_registry_init_data(void)
 {
-    char tmpbuf[INTERNET_MAX_URL_LENGTH];
+    char tmpbuf[MAX_PATH];
+    int ok = JK_TRUE;
+    LPVOID src;
     HKEY hkey;
-    long rc;
-    int ok = JK_TRUE;
-    const char *tmp;
-    jk_map_t *map;
+    jk_map_t *map = NULL;
 
     if (jk_map_alloc(&map)) {
-        if (jk_map_read_properties(map, ini_file_name, NULL, logger)) {
+        if (jk_map_read_properties(map, ini_file_name, NULL, 1, logger)) {
             using_ini_file = JK_TRUE;
+            src = map;
         }
-    }
-    if (using_ini_file) {
-        tmp = jk_map_get_string(map, JK_LOG_FILE_TAG, NULL);
-        if (tmp) {
-            strcpy(log_file, tmp);
-        }
         else {
-            ok = JK_FALSE;
+            jk_map_free(&map);
         }
-        tmp = jk_map_get_string(map, JK_LOG_LEVEL_TAG, NULL);
-        if (tmp) {
-            log_level = jk_parse_log_level(tmp);
+    }
+    if (!using_ini_file) {
+        long rc = RegOpenKeyEx(HKEY_LOCAL_MACHINE, REGISTRY_LOCATION,
+                               (DWORD)0, KEY_READ, &hkey);
+        if (ERROR_SUCCESS != rc) {
+            return JK_FALSE;
         }
-        tmp = jk_map_get_string(map, EXTENSION_URI_TAG, NULL);
-        if (tmp) {
-            strcpy(extension_uri, tmp);
-        }
         else {
-            ok = JK_FALSE;
+            src = &hkey;
         }
-        tmp = jk_map_get_string(map, JK_WORKER_FILE_TAG, NULL);
-        if (tmp) {
-            strcpy(worker_file, tmp);
+    }
+    ok = ok && get_config_parameter(src, JK_LOG_FILE_TAG, log_file, sizeof(log_file));
+    if (get_config_parameter(src, JK_LOG_LEVEL_TAG, tmpbuf, sizeof(tmpbuf))) {
+        log_level = jk_parse_log_level(tmpbuf);
+    }
+    ok = ok && get_config_parameter(src, EXTENSION_URI_TAG, extension_uri, sizeof(extension_uri));
+    ok = ok && get_config_parameter(src, JK_WORKER_FILE_TAG, worker_file, sizeof(worker_file));
+    ok = ok && get_config_parameter(src, JK_MOUNT_FILE_TAG, worker_mount_file, sizeof(worker_mount_file));
+    get_config_parameter(src, URI_REWRITE_TAG, rewrite_rule_file, sizeof(rewrite_rule_file));
+    if (get_config_parameter(src, URI_SELECT_TAG, tmpbuf, sizeof(tmpbuf))) {
+        int opt = parse_uri_select(tmpbuf);
+        if (opt >= 0) {
+            uri_select_option = opt;
         }
         else {
             ok = JK_FALSE;
         }
-        tmp = jk_map_get_string(map, JK_MOUNT_FILE_TAG, NULL);
-        if (tmp) {
-            strcpy(worker_mount_file, tmp);
-        }
-        else {
-            ok = JK_FALSE;
-        }
-        tmp = jk_map_get_string(map, URI_REWRITE_VERB, NULL);
-        if (tmp) {
-            strcpy(rewrite_rule_file, tmp);
-        }
-        tmp = jk_map_get_string(map, URI_SELECT_TAG, NULL);
-        if (tmp) {
-            int opt = parse_uri_select(tmp);
-            if (opt >= 0) {
-                uri_select_option = opt;
-            }
-            else {
-                ok = JK_FALSE;
-            }
-        }
-
     }
+    shm_config_size = get_config_int(src, SHM_SIZE_TAG, JK_SHM_DEF_SIZE);
+    worker_mount_reload = get_config_int(src, WORKER_MOUNT_RELOAD_TAG, JK_URIMAP_DEF_RELOAD);
+    strip_session = get_config_bool(src, STRIP_SESSION_TAG, JK_FALSE);
+    use_auth_notification_flags = get_config_int(src, AUTH_COMPLETE_TAG, 1);
+    if (using_ini_file) {
+        jk_map_free(&map);
+    }
     else {
-        rc = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
-                          REGISTRY_LOCATION, (DWORD) 0, KEY_READ, &hkey);
-        if (ERROR_SUCCESS != rc) {
-            return JK_FALSE;
-        }
+        RegCloseKey(hkey);
+    }
+    return ok;
+}
 
-        if (get_registry_config_parameter(hkey,
-                                          JK_LOG_FILE_TAG,
-                                          tmpbuf, sizeof(log_file))) {
-            strcpy(log_file, tmpbuf);
+static int get_config_parameter(LPVOID src, const char *tag,
+                                char *val, DWORD sz)
+{
+    const char *tmp = NULL;
+    if (using_ini_file) {
+        tmp = jk_map_get_string((jk_map_t*)src, tag, NULL);
+        if (tmp && (strlen(tmp) < sz)) {
+            StringCbCopy(val, sz, tmp);
+            return JK_TRUE;
         }
         else {
-            ok = JK_FALSE;
+            return JK_FALSE;
         }
+    } else {
+        return get_registry_config_parameter(*((HKEY*)src), tag, val, sz);
+    }
+}
 
-        if (get_registry_config_parameter(hkey,
-                                          JK_LOG_LEVEL_TAG,
-                                          tmpbuf, sizeof(tmpbuf))) {
-            log_level = jk_parse_log_level(tmpbuf);
+static int get_config_int(LPVOID src, const char *tag, int def)
+{
+    if (using_ini_file) {
+        return jk_map_get_int((jk_map_t*)src, tag, def);
+    } else {
+        int val;
+        if (get_registry_config_number(*((HKEY*)src), tag, &val) ) {
+            return val;
         }
-
-        if (get_registry_config_parameter(hkey,
-                                          EXTENSION_URI_TAG,
-                                          tmpbuf, sizeof(extension_uri))) {
-            strcpy(extension_uri, tmpbuf);
-        }
         else {
-            ok = JK_FALSE;
+            return def;
         }
+    }
+}
 
-        if (get_registry_config_parameter(hkey,
-                                          JK_WORKER_FILE_TAG,
-                                          tmpbuf, sizeof(worker_file))) {
-            strcpy(worker_file, tmpbuf);
+static int get_config_bool(LPVOID src, const char *tag, int def)
+{
+    if (using_ini_file) {
+        return jk_map_get_bool((jk_map_t*)src, tag, def);
+    } else {
+        char tmpbuf[128];
+        if (get_registry_config_parameter(*((HKEY*)src), tag,
+                                          tmpbuf, sizeof(tmpbuf))) {
+            return jk_get_bool_code(tmpbuf, def);
         }
         else {
-            ok = JK_FALSE;
+            return def;
         }
-
-        if (get_registry_config_parameter(hkey,
-                                          JK_MOUNT_FILE_TAG,
-                                          tmpbuf,
-                                          sizeof(worker_mount_file))) {
-            strcpy(worker_mount_file, tmpbuf);
-        }
-        else {
-            ok = JK_FALSE;
-        }
-
-        if (get_registry_config_parameter(hkey,
-                                          URI_REWRITE_VERB,
-                                          tmpbuf,
-                                          sizeof(rewrite_rule_file))) {
-            strcpy(rewrite_rule_file, tmpbuf);
-        }
-
-        if (get_registry_config_parameter(hkey,
-                                          URI_SELECT_TAG,
-                                          tmpbuf, sizeof(tmpbuf))) {
-            int opt = parse_uri_select(tmpbuf);
-            if (opt >= 0) {
-                uri_select_option = opt;
-            }
-            else {
-                ok = JK_FALSE;
-            }
-        }
-
-        RegCloseKey(hkey);
     }
-    return ok;
 }
 
 static int get_registry_config_parameter(HKEY hkey,
@@ -1432,13 +1463,32 @@
     DWORD type = 0;
     LONG lrc;
 
+    sz = sz - 1; /* Reserve space for RegQueryValueEx to add null terminator */
+    b[sz] = '\0'; /* Null terminate in case RegQueryValueEx doesn't */
+
     lrc = RegQueryValueEx(hkey, tag, (LPDWORD) 0, &type, (LPBYTE) b, &sz);
     if ((ERROR_SUCCESS != lrc) || (type != REG_SZ)) {
         return JK_FALSE;
     }
 
-    b[sz] = '\0';
+    return JK_TRUE;
+}
 
+static int get_registry_config_number(HKEY hkey,
+                                      const char *tag, int *val)
+{
+    DWORD type = 0;
+    DWORD data = 0;
+    DWORD sz   = sizeof(DWORD);
+    LONG lrc;
+
+    lrc = RegQueryValueEx(hkey, tag, (LPDWORD)0, &type, (LPBYTE)&data, &sz);
+    if ((ERROR_SUCCESS != lrc) || (type != REG_DWORD)) {
+        return JK_FALSE;
+    }
+
+    *val = data;
+
     return JK_TRUE;
 }
 
@@ -1449,12 +1499,18 @@
 
     DWORD huge_buf_sz;
 
-    s->jvm_route = NULL;
+    s->route = NULL;
 
     s->start_response = start_response;
     s->read = read;
     s->write = write;
+
+    /* Yes we do want to reuse AJP connections */
+    s->disable_reuse = JK_FALSE;
+
     s->flush = NULL;
+    s->flush_packets = JK_FALSE;
+    s->flush_header = JK_FALSE;
 
     /* Clear RECO status */
     s->reco_status = RECO_NONE;
@@ -1785,3 +1841,30 @@
     *p++ = '\0';
     return (int)(p - encoded);
 }
+
+static int get_auth_flags()
+{
+    HKEY hkey;
+    long rc;
+    int maj, sz;
+    int rv = SF_NOTIFY_PREPROC_HEADERS;
+    int use_auth = JK_FALSE;
+    /* Retreive the IIS version Major */
+    rc = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
+                      W3SVC_REGISTRY_KEY, (DWORD) 0, KEY_READ, &hkey);
+    if (ERROR_SUCCESS != rc) {
+        return rv;
+    }
+    sz = sizeof(int);
+    rc = RegQueryValueEx(hkey, "MajorVersion", NULL, NULL,
+                         (LPBYTE) & maj, &sz);
+    if (ERROR_SUCCESS != rc) {
+        CloseHandle(hkey);
+        return rv;
+    }
+    CloseHandle(hkey);
+    if (use_auth_notification_flags && maj > 4)
+        rv = SF_NOTIFY_AUTH_COMPLETE;
+
+    return rv;
+}

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/iis/pcre/dftables.dsp
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/iis/pcre/dftables.dsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/iis/pcre/dftables.dsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -42,7 +42,7 @@
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /MD /W3 /O2 /D "_WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fd"Release\dftables" /FD /c
-# ADD CPP /nologo /MD /W3 /wd:4996 /O2 /D "_WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fd"Release\dftables" /FD /c
+# ADD CPP /nologo /MD /W3 /wd4996 /O2 /D "_WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fd"Release\dftables" /FD /c
 # ADD BASE RSC /l 0x809 /d "NDEBUG"
 # ADD RSC /l 0x809 /d "NDEBUG"
 BSC32=bscmake.exe
@@ -68,7 +68,7 @@
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /MDd /W3 /EHsc /Zi /Od /D "_WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fd"Debug\dftables" /FD /c
-# ADD CPP /nologo /MDd /W3 /wd:4996 /EHsc /Zi /Od /D "_WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fd"Debug\dftables" /FD /c
+# ADD CPP /nologo /MDd /W3 /wd4996 /EHsc /Zi /Od /D "_WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fd"Debug\dftables" /FD /c
 # ADD BASE RSC /l 0x809 /d "_DEBUG"
 # ADD RSC /l 0x809 /d "_DEBUG"
 BSC32=bscmake.exe

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/iis/pcre/mkinstalldirs
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/iis/pcre/mkinstalldirs	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/iis/pcre/mkinstalldirs	2007-05-21 10:51:24 UTC (rev 3531)
@@ -4,7 +4,7 @@
 # Created: 1993-05-16
 # Public domain
 
-# $Id: mkinstalldirs 106103 2004-11-21 18:50:36Z nd $
+# $Id: mkinstalldirs 467206 2006-10-24 02:45:46Z markt $
 
 errstatus=0
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/jni/jk_jnicb.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/jni/jk_jnicb.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/jni/jk_jnicb.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: JNI callbacks implementation for the JNI in process adapter*
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 299830 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 #include "jk_jnicb.h"

Added: branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/Makefile.linux
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/Makefile.linux	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/Makefile.linux	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,38 @@
+# Defines for example NSAPI programs running under Linux
+
+#gcc
+# If you get relocation errors, try:
+#   1. compiling with Sun's cc
+#   2. statically linking with libgcc
+#   3. Adjusting LD_LIBRARY_PATH to grab libgcc_s
+CC_CMD=gcc -fpic -DNET_SSL -DLinux -DLINUX -D_REENTRANT -DXP_UNIX
+
+LD_SHAREDCMD=gcc -shared
+
+OS_TYPE=linux
+INCLUDEDIR=$(SUITSPOT_HOME)/include
+JAVA_INCLUDE=$(JAVA_HOME)/include
+JK_DIR=../common
+VPATH=.:$(JK_DIR)
+
+JK_SRCS = $(shell \ls $(JK_DIR)/*.c)
+JK_OBJECTS = $(patsubst $(JK_DIR)/%.c,%.o,$(JK_SRCS))
+JK_JNI_OBJECTS = jk_jni_worker.o jk_nwmain.o
+JK_OBJS = $(filter-out $(JK_JNI_OBJECTS),$(JK_OBJECTS))
+
+PLUGIN_OBJ = jk_nsapi_plugin.o
+
+INCLUDE_FLAGS=	-I$(JK_DIR) -I$(INCLUDEDIR) -I$(INCLUDEDIR)/base \
+		-I$(INCLUDEDIR)/frame -I$(JAVA_INCLUDE) -I$(JAVA_INCLUDE)/$(OS_TYPE)
+
+all: nsapi_redirector.so 
+
+
+nsapi_redirector.so: $(PLUGIN_OBJ) $(JK_OBJS)
+	$(LD_SHAREDCMD) $(JK_OBJS) $(PLUGIN_OBJ) -o nsapi_redirector.so $(EXTRA_LDDEFINES)
+
+clean:
+	rm -f *.o nsapi_redirector.so $(JK_OBJS)
+
+%.o : %.c
+	$(CC_CMD) $(INCLUDE_FLAGS) -c $<

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/Makefile.solaris
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/Makefile.solaris	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/Makefile.solaris	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,8 +1,19 @@
 # Defines for example NSAPI programs running under SOLARIS
 
+#gcc
+# If you get relocation errors, try:
+#   1. compiling with Sun's cc
+#   2. statically linking with libgcc
+#   3. Adjusting LD_LIBRARY_PATH to grab libgcc_s
 CC_CMD=gcc -DNET_SSL -DSOLARIS -D_REENTRANT -DXP_UNIX \
 	-DMCC_HTTPD -DSPAPI20 \
 	-fPIC
+
+#SunStudio cc compiler
+#CC_CMD=cc -DNET_SSL -DSOLARIS -D_REENTRANT -DXP_UNIX \
+#	-DMCC_HTTPD -DSPAPI20 \
+#	-xcode=pic32
+
 LD_SHAREDCMD=ld -G -fPIC
 
 all:
@@ -15,7 +26,7 @@
 JK_DIR=../common
 VPATH=.:$(JK_DIR)
 
-JK_SRCS = $(shell ls $(JK_DIR)/*.c)
+JK_SRCS = $(shell \ls $(JK_DIR)/*.c)
 JK_OBJS = $(patsubst $(JK_DIR)/%.c,%.o,$(JK_SRCS))
 
 PLUGIN_OBJ = jk_nsapi_plugin.o
@@ -30,7 +41,7 @@
 	$(LD_SHAREDCMD) $(JK_OBJS) $(PLUGIN_OBJ) -o nsapi_redirector.so $(EXTRA_LDDEFINES)
 
 clean:
-	rm -f *.o nsapi_redirector.so 
+	rm -f *.o nsapi_redirector.so $(JK_OBJS)
 
 %.o : %.c
 	$(CC_CMD) $(INCLUDE_FLAGS) -c $< 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/README
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/README	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/README	2007-05-21 10:51:24 UTC (rev 3531)
@@ -6,7 +6,8 @@
 a custom build on Windows systems
 
 On Unix system, a Makefile.solaris is provided and should be 
-adapted to tailor to your own configuration.
+adapted to tailor to your own configuration. Be sure to read
+the BUILDING file, one directory up.
 
 
 REQUIREMENT for Windows build

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/jk_nsapi_plugin.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/jk_nsapi_plugin.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/jk_nsapi_plugin.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: NSAPI plugin for Netscape servers                          *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
- * Version:     $Revision: 437379 $                                           *
+ * Version:     $Revision: 500880 $                                           *
  ***************************************************************************/
 
 
@@ -92,6 +93,7 @@
     if (wc_open(init_map, &worker_env, logger)) {
         if (uri_worker_map_alloc(&uw_map, NULL, logger)) {
             uw_map->fname = "";
+            uw_map->reload = JK_URIMAP_DEF_RELOAD;
             worker_env.uri_to_worker = uw_map;
             init_on_other_thread_is_ok = JK_TRUE;
         }
@@ -244,10 +246,14 @@
     
     jk_shm_open(shm_file, JK_SHM_DEF_SIZE, logger);
     if (jk_map_alloc(&init_map)) {
-        if (jk_map_read_properties(init_map, worker_prp_file, NULL, logger)) {
+        if (jk_map_read_properties(init_map, worker_prp_file, NULL, 1, logger)) {
             int sleep_cnt;
             SYS_THREAD s;
 
+            if (jk_map_resolve_references(init_map, "worker.", 1, 1, logger) == JK_FALSE) {
+                jk_log(logger, JK_LOG_ERROR, "Error in resolving configuration references");
+            }
+
             s = systhread_start(SYSTHREAD_DEFAULT_PRIORITY,
                                 0, init_workers_on_other_threads, init_map);
             for (sleep_cnt = 0; sleep_cnt < 60; sleep_cnt++) {
@@ -295,8 +301,8 @@
         jk_close_file_logger(&logger);
     }
 
-	if (init_map) {
-        jk_map_free(&init_map);
+    if (init_map) {
+    jk_map_free(&init_map);
     }
 }
 
@@ -360,7 +366,7 @@
     char *tmp;
     int rc;
 
-    s->jvm_route = NULL;
+    s->route = NULL;
     s->start_response = start_response;
     s->read = ws_read;
     s->write = ws_write;
@@ -408,7 +414,7 @@
     s->headers_names = NULL;
     s->headers_values = NULL;
     s->num_headers = 0;
-	s->uw_map = uw_map;
+    s->uw_map = uw_map;
 
 #ifdef NETWARE
     /* on NetWare, we can have virtual servers that are secure.

Modified: branches/tomcat5.5/upstream/current/connectors/jk/native/nt_service/jk_nt_service.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/nt_service/jk_nt_service.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/nt_service/jk_nt_service.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
  * Description: NT System service for Tomcat                       *
  * Author:      Gal Shachor <shachor at il.ibm.com>                           *
  *              Dave Oxley <Dave at JungleMoss.com>                           *
- * Version:     $Revision: 437379 $                                           *
+ * Version:     $Revision: 500880 $                                           *
  ***************************************************************************/
 
 #include "jk_global.h"
@@ -955,7 +956,7 @@
             jk_map_t *init_map;
             
             if(jk_map_alloc(&init_map)) {
-                if(jk_map_read_properties(init_map, prp_file, NULL, NULL)) {
+                if(jk_map_read_properties(init_map, prp_file, NULL, 1, NULL)) {
                     jk_tomcat_startup_data_t data;
                     jk_pool_t p;
                     jk_pool_atom_t buf[HUGE_POOL_SIZE];
@@ -1000,8 +1001,8 @@
 
                         memset(&processInformation, 0, sizeof(processInformation));
                         
-						if( cmdLine==NULL ) 
-							cmdLine=data.cmd_line;
+                        if( cmdLine==NULL ) 
+                            cmdLine=data.cmd_line;
 
                         printf(cmdLine);
                         if(CreateProcess(data.java_bin,
@@ -1023,7 +1024,7 @@
                             shutdown_port = data.shutdown_port;
                             shutdown_secret = data.shutdown_secret;
                             shutdown_protocol = strdup(data.shutdown_protocol);
-							shutdown_cmd = strdup(data.stop_cmd);
+                            shutdown_cmd = strdup(data.stop_cmd);
 
                             return JK_TRUE;
                         } else {

Added: branches/tomcat5.5/upstream/current/connectors/jk/native/scripts/build/instdso.sh
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/native/scripts/build/instdso.sh	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/native/scripts/build/instdso.sh	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,91 @@
+#!/bin/sh
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+# instdso.sh - install Apache DSO modules
+#
+# we use this instead of libtool --install because:
+# 1) on a few platforms libtool doesn't install DSOs exactly like we'd
+#    want (weird names, doesn't remove DSO first)
+# 2) we never want the .la files copied, so we might as well copy
+#    the .so files ourselves
+
+if test "$#" != "3"; then
+    echo "wrong number of arguments to instdso.sh"
+    echo "Usage: instdso.sh SH_LIBTOOL-value dso-name path-to-modules"
+    exit 1
+fi
+
+SH_LIBTOOL=`echo $1 | sed -e 's/^SH_LIBTOOL=//'`
+DSOARCHIVE=$2
+DSOARCHIVE_BASENAME=`basename $2`
+TARGETDIR=$3
+DSOBASE=`echo $DSOARCHIVE_BASENAME | sed -e 's/\.la$//'`
+TARGET_NAME="$DSOBASE.so"
+
+SYS=`uname -s`
+
+if test "$SYS" = "AIX"
+then
+    # on AIX, shared libraries remain in storage even when
+    # all processes using them have exited; standard practice
+    # prior to installing a shared library is to rm -f first
+    CMD="rm -f $TARGETDIR/$TARGET_NAME"
+    echo $CMD
+    $CMD || exit $?
+fi
+
+CMD="$SH_LIBTOOL --mode=install cp $DSOARCHIVE $TARGETDIR/"
+echo $CMD
+$CMD || exit $?
+
+if test "$SYS" = "OS/2"
+then
+    # on OS/2, aplibtool --install doesn't copy the .la files & we can't
+    # rename DLLs to have a .so extension or they won't load so none of the 
+    # steps below make sense.
+    exit 0
+fi
+
+if test -s "$TARGETDIR/$DSOARCHIVE_BASENAME"
+then
+  DLNAME=`sed -n "/^dlname=/{s/.*='\([^']*\)'/\1/;p;}" $TARGETDIR/$DSOARCHIVE_BASENAME`
+  LIBRARY_NAMES=`sed -n "/^library_names/{s/library_names='\([^']*\)'/\1/;p;}" $TARGETDIR/$DSOARCHIVE_BASENAME`
+  LIBRARY_NAMES=`echo $LIBRARY_NAMES | sed -e "s/ *$DLNAME//g"`
+fi
+
+if test -z "$DLNAME"
+then
+  echo "Warning!  dlname not found in $TARGETDIR/$DSOARCHIVE_BASENAME."
+  echo "Assuming installing a .so rather than a libtool archive."
+  exit 0
+fi
+
+if test -n "$LIBRARY_NAMES"
+then
+    for f in $LIBRARY_NAMES
+    do
+        rm -f $TARGETDIR/$f
+    done
+fi
+
+if test "$DLNAME" != "$TARGET_NAME"
+then
+    mv $TARGETDIR/$DLNAME $TARGETDIR/$TARGET_NAME
+fi
+
+exit 0

Modified: branches/tomcat5.5/upstream/current/connectors/jk/support/jk_apache_static.m4
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/support/jk_apache_static.m4	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/support/jk_apache_static.m4	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 dnl
-dnl Copyright 1999-2004 The Apache Software Foundation
+dnl Licensed to the Apache Software Foundation (ASF) under one or more
+dnl contributor license agreements.  See the NOTICE file distributed with
+dnl this work for additional information regarding copyright ownership.
+dnl The ASF licenses this file to You under the Apache License, Version 2.0
+dnl (the "License"); you may not use this file except in compliance with
+dnl the License.  You may obtain a copy of the License at
 dnl
-dnl Licensed under the Apache License, Version 2.0 (the "License");
-dnl you may not use this file except in compliance with the License.
-dnl You may obtain a copy of the License at
-dnl
 dnl     http://www.apache.org/licenses/LICENSE-2.0
 dnl
 dnl Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 dnl
 dnl Inspired by Pier works on webapp m4 macros :)
 dnl 
-dnl Version $Id: jk_apache_static.m4 300972 2005-07-12 19:38:18Z wrowe $
+dnl Version $Id: jk_apache_static.m4 466585 2006-10-21 22:16:34Z markt $
 dnl --------------------------------------------------------------------------
 
 dnl Apache-2.0 needs the os subdirectory to include os.h

Modified: branches/tomcat5.5/upstream/current/connectors/jk/support/jk_apr.m4
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/support/jk_apr.m4	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/support/jk_apr.m4	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 dnl
-dnl Copyright 1999-2004 The Apache Software Foundation
+dnl Licensed to the Apache Software Foundation (ASF) under one or more
+dnl contributor license agreements.  See the NOTICE file distributed with
+dnl this work for additional information regarding copyright ownership.
+dnl The ASF licenses this file to You under the Apache License, Version 2.0
+dnl (the "License"); you may not use this file except in compliance with
+dnl the License.  You may obtain a copy of the License at
 dnl
-dnl Licensed under the Apache License, Version 2.0 (the "License");
-dnl you may not use this file except in compliance with the License.
-dnl You may obtain a copy of the License at
-dnl
 dnl     http://www.apache.org/licenses/LICENSE-2.0
 dnl
 dnl Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 dnl
 dnl Inspired by Pier works on webapp m4 macros :)
 dnl 
-dnl Version $Id: jk_apr.m4 299214 2004-02-24 08:42:04Z hgomez $
+dnl Version $Id: jk_apr.m4 466585 2006-10-21 22:16:34Z markt $
 dnl --------------------------------------------------------------------------
 
 dnl --------------------------------------------------------------------------

Modified: branches/tomcat5.5/upstream/current/connectors/jk/support/jk_apxs.m4
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/support/jk_apxs.m4	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/support/jk_apxs.m4	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 dnl
-dnl Copyright 1999-2004 The Apache Software Foundation
+dnl Licensed to the Apache Software Foundation (ASF) under one or more
+dnl contributor license agreements.  See the NOTICE file distributed with
+dnl this work for additional information regarding copyright ownership.
+dnl The ASF licenses this file to You under the Apache License, Version 2.0
+dnl (the "License"); you may not use this file except in compliance with
+dnl the License.  You may obtain a copy of the License at
 dnl
-dnl Licensed under the Apache License, Version 2.0 (the "License");
-dnl you may not use this file except in compliance with the License.
-dnl You may obtain a copy of the License at
-dnl
 dnl     http://www.apache.org/licenses/LICENSE-2.0
 dnl
 dnl Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 dnl
 dnl Inspired by Pier works on webapp m4 macros :)
 dnl 
-dnl Version $Id: jk_apxs.m4 300131 2005-01-31 08:14:03Z jfclere $
+dnl Version $Id: jk_apxs.m4 466585 2006-10-21 22:16:34Z markt $
 dnl --------------------------------------------------------------------------
 
 dnl --------------------------------------------------------------------------

Modified: branches/tomcat5.5/upstream/current/connectors/jk/support/jk_dominohome.m4
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/support/jk_dominohome.m4	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/support/jk_dominohome.m4	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 dnl
-dnl Copyright 1999-2004 The Apache Software Foundation
+dnl Licensed to the Apache Software Foundation (ASF) under one or more
+dnl contributor license agreements.  See the NOTICE file distributed with
+dnl this work for additional information regarding copyright ownership.
+dnl The ASF licenses this file to You under the Apache License, Version 2.0
+dnl (the "License"); you may not use this file except in compliance with
+dnl the License.  You may obtain a copy of the License at
 dnl
-dnl Licensed under the Apache License, Version 2.0 (the "License");
-dnl you may not use this file except in compliance with the License.
-dnl You may obtain a copy of the License at
-dnl
 dnl     http://www.apache.org/licenses/LICENSE-2.0
 dnl
 dnl Unless required by applicable law or agreed to in writing, software
@@ -20,7 +21,7 @@
 dnl
 dnl He was inspired by Pier works on webapp m4 macros :)
 dnl 
-dnl Version $Id: jk_dominohome.m4 299412 2004-04-29 17:03:31Z andya $
+dnl Version $Id: jk_dominohome.m4 466585 2006-10-21 22:16:34Z markt $
 dnl --------------------------------------------------------------------------
 
 dnl --------------------------------------------------------------------------

Modified: branches/tomcat5.5/upstream/current/connectors/jk/support/jk_exec.m4
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/support/jk_exec.m4	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/support/jk_exec.m4	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 dnl
-dnl Copyright 1999-2004 The Apache Software Foundation
+dnl Licensed to the Apache Software Foundation (ASF) under one or more
+dnl contributor license agreements.  See the NOTICE file distributed with
+dnl this work for additional information regarding copyright ownership.
+dnl The ASF licenses this file to You under the Apache License, Version 2.0
+dnl (the "License"); you may not use this file except in compliance with
+dnl the License.  You may obtain a copy of the License at
 dnl
-dnl Licensed under the Apache License, Version 2.0 (the "License");
-dnl you may not use this file except in compliance with the License.
-dnl You may obtain a copy of the License at
-dnl
 dnl     http://www.apache.org/licenses/LICENSE-2.0
 dnl
 dnl Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
 dnl
 dnl Inspired by Pier works on webapp m4 macros :)
 dnl
-dnl Version $Id:$
+dnl Version $Id: jk_exec.m4 467206 2006-10-24 02:45:46Z markt $
 dnl --------------------------------------------------------------------------
 
 dnl --------------------------------------------------------------------------

Modified: branches/tomcat5.5/upstream/current/connectors/jk/support/jk_java.m4
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/support/jk_java.m4	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/support/jk_java.m4	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 dnl
-dnl Copyright 1999-2004 The Apache Software Foundation
+dnl Licensed to the Apache Software Foundation (ASF) under one or more
+dnl contributor license agreements.  See the NOTICE file distributed with
+dnl this work for additional information regarding copyright ownership.
+dnl The ASF licenses this file to You under the Apache License, Version 2.0
+dnl (the "License"); you may not use this file except in compliance with
+dnl the License.  You may obtain a copy of the License at
 dnl
-dnl Licensed under the Apache License, Version 2.0 (the "License");
-dnl you may not use this file except in compliance with the License.
-dnl You may obtain a copy of the License at
-dnl
 dnl     http://www.apache.org/licenses/LICENSE-2.0
 dnl
 dnl Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 dnl
 dnl Inspired by Pier works on webapp m4 macros :)
 dnl 
-dnl Version $Id: jk_java.m4 299440 2004-05-28 00:04:43Z yoavs $
+dnl Version $Id: jk_java.m4 466585 2006-10-21 22:16:34Z markt $
 dnl --------------------------------------------------------------------------
 
 dnl --------------------------------------------------------------------------

Modified: branches/tomcat5.5/upstream/current/connectors/jk/support/jk_pcre.m4
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/support/jk_pcre.m4	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/support/jk_pcre.m4	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 dnl
-dnl Copyright 1999-2004 The Apache Software Foundation
+dnl Licensed to the Apache Software Foundation (ASF) under one or more
+dnl contributor license agreements.  See the NOTICE file distributed with
+dnl this work for additional information regarding copyright ownership.
+dnl The ASF licenses this file to You under the Apache License, Version 2.0
+dnl (the "License"); you may not use this file except in compliance with
+dnl the License.  You may obtain a copy of the License at
 dnl
-dnl Licensed under the Apache License, Version 2.0 (the "License");
-dnl you may not use this file except in compliance with the License.
-dnl You may obtain a copy of the License at
-dnl
 dnl     http://www.apache.org/licenses/LICENSE-2.0
 dnl
 dnl Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/support/jk_tchome.m4
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/support/jk_tchome.m4	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/support/jk_tchome.m4	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 dnl
-dnl Copyright 1999-2004 The Apache Software Foundation
+dnl Licensed to the Apache Software Foundation (ASF) under one or more
+dnl contributor license agreements.  See the NOTICE file distributed with
+dnl this work for additional information regarding copyright ownership.
+dnl The ASF licenses this file to You under the Apache License, Version 2.0
+dnl (the "License"); you may not use this file except in compliance with
+dnl the License.  You may obtain a copy of the License at
 dnl
-dnl Licensed under the Apache License, Version 2.0 (the "License");
-dnl you may not use this file except in compliance with the License.
-dnl You may obtain a copy of the License at
-dnl
 dnl     http://www.apache.org/licenses/LICENSE-2.0
 dnl
 dnl Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 dnl
 dnl Inspired by Pier works on webapp m4 macros :)
 dnl 
-dnl Version $Id: jk_tchome.m4 299214 2004-02-24 08:42:04Z hgomez $
+dnl Version $Id: jk_tchome.m4 466585 2006-10-21 22:16:34Z markt $
 dnl --------------------------------------------------------------------------
 
 dnl --------------------------------------------------------------------------

Modified: branches/tomcat5.5/upstream/current/connectors/jk/support/jk_ws.m4
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/support/jk_ws.m4	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/support/jk_ws.m4	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 dnl
-dnl Copyright 1999-2004 The Apache Software Foundation
+dnl Licensed to the Apache Software Foundation (ASF) under one or more
+dnl contributor license agreements.  See the NOTICE file distributed with
+dnl this work for additional information regarding copyright ownership.
+dnl The ASF licenses this file to You under the Apache License, Version 2.0
+dnl (the "License"); you may not use this file except in compliance with
+dnl the License.  You may obtain a copy of the License at
 dnl
-dnl Licensed under the Apache License, Version 2.0 (the "License");
-dnl you may not use this file except in compliance with the License.
-dnl You may obtain a copy of the License at
-dnl
 dnl     http://www.apache.org/licenses/LICENSE-2.0
 dnl
 dnl Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 dnl
 dnl Inspired by Pier works on webapp m4 macros :)
 dnl 
-dnl Version $Id: jk_ws.m4 299223 2004-02-24 13:17:07Z truk $
+dnl Version $Id: jk_ws.m4 466585 2006-10-21 22:16:34Z markt $
 dnl --------------------------------------------------------------------------
 
 dnl --------------------------------------------------------------------------

Modified: branches/tomcat5.5/upstream/current/connectors/jk/test/org/apache/ajp/test/TestAjp13.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/test/org/apache/ajp/test/TestAjp13.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/test/org/apache/ajp/test/TestAjp13.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/test/org/apache/ajp/test/TestAll.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/test/org/apache/ajp/test/TestAll.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/test/org/apache/ajp/test/TestAll.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jk/tools/jkrelease.sh
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/tools/jkrelease.sh	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/tools/jkrelease.sh	2007-05-21 10:51:24 UTC (rev 3531)
@@ -10,32 +10,59 @@
 # gpg
 # And any one of: w3m, elinks, links
 
+usage() {
+    echo "Usage:: $0 -t VERSION [-T]"
+    echo "        -t: version to package"
+    echo "        -T: package from trunk"
+}
+
+while getopts :t:T c
+do
+    case $c in
+    t)         tag=$OPTARG;;
+    T)         trunk=trunk;;
+    \:)        usage
+               exit 2;;
+    \?)        usage
+               exit 2;;
+    esac
+done
+shift `expr $OPTIND - 1`
+
 export ANT_HOME=/usr/local/ant
 export JAVA_HOME=/usr/local/jdk1.4.2
 
-# You need to change the version numbers
-JK_VERMAJOR="1"
-JK_VERMINOR="2"
-JK_VERFIX="19"
-ASFROOT="http://svn.apache.org/repos/asf"
+SVNROOT="http://svn.apache.org/repos/asf"
+SVNPROJ="tomcat/connectors"
 JK_CVST="tomcat-connectors"
 
 JK_OWNER="asf"
 JK_GROUP="asf"
 
 COPY_TOP="KEYS LICENSE NOTICE"
-COPY_JK="BUILD.txt native support tools xdocs"
+COPY_JK="BUILD.txt native jkstatus support tools xdocs"
 COPY_CONF="uriworkermap.properties workers.properties workers.properties.minimal"
 
-JK_VER="${JK_VERMAJOR}.${JK_VERMINOR}.${JK_VERFIX}"
-JK_BRANCH="jk${JK_VERMAJOR}.${JK_VERMINOR}.x"
-JK_TAG="JK_${JK_VERMAJOR}_${JK_VERMINOR}_${JK_VERFIX}"
+#################### NO CHANGE BELOW THIS LINE ##############
 
-JK_DIST=${JK_CVST}-${JK_VER}-src
-JK_SVN_URL="${ASFROOT}/tomcat/connectors/tags/${JK_BRANCH}/${JK_TAG}"
+if [ "X$tag" = "X" ]
+then
+    usage
+    exit 2
+fi
+if [ "X$trunk" = "Xtrunk" ]
+then
+    JK_SVN_URL="${SVNROOT}/${SVNPROJ}/trunk"
+    JK_REV=`svn info ${JK_SVN_URL} | awk '$1 == "Revision:" {print $2}'`
+    JK_DIST=${JK_CVST}-${tag}-dev-${JK_REV}-src
+else
+    JK_VER=$tag
+    JK_TAG=`echo $tag | sed -e 's#^#JK_#' -e 's#\.#_#g'`
+    JK_BRANCH=`echo $tag | sed -e 's#^#jk#' -e 's#\.[0-9][0-9]*$##' -e 's#$#.x#'`
+    JK_SVN_URL="${SVNROOT}/${SVNPROJ}/tags/${JK_BRANCH}/${JK_TAG}"
+    JK_DIST=${JK_CVST}-${JK_VER}-src
+fi
 
-#################### NO CHANGE BELOW THIS LINE ##############
-
 umask 022
 
 rm -rf ${JK_DIST}
@@ -133,7 +160,7 @@
         ;;
     esac
     rm -f CHANGES
-    ${TOOL} ../docs/printer/changelog.html > CHANGES 2>/dev/null
+    ${TOOL} ../docs/miscellaneous/printer/changelog.html > CHANGES 2>/dev/null
     if [ -f CHANGES -a -s CHANGES ]
     then
       failed=false
@@ -148,8 +175,8 @@
 fi
 
 # Export text docs
-${TOOL} ../docs/printer/changelog.html >CHANGES
-${TOOL} ../docs/news/printer/20060101.html >NEWS
+${TOOL} ../docs/news/printer/20070301.html >NEWS
+${TOOL} ../docs/news/printer/20060101.html >>NEWS
 ${TOOL} ../docs/news/printer/20050101.html >>NEWS
 ${TOOL} ../docs/news/printer/20041100.html >>NEWS
 
@@ -160,6 +187,7 @@
 # Pack and sign
 tar cvf ${JK_DIST}.tar --owner="${JK_OWNER}" --group="${JK_GROUP}" ${JK_DIST}
 gzip ${JK_DIST}.tar
+perl ${JK_DIST}/tools/lineends.pl --cr ${JK_DIST}
 zip -9 -r ${JK_DIST}.zip ${JK_DIST}
 # Create detatched signature
 gpg -ba ${JK_DIST}.tar.gz

Added: branches/tomcat5.5/upstream/current/connectors/jk/tools/lineends.pl
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/tools/lineends.pl	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/tools/lineends.pl	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,149 @@
+#!/usr/bin/perl
+#
+#  Heuristically converts line endings to the current OS's preferred format
+#  
+#  All existing line endings must be identical (e.g. lf's only, or even
+#  the accedental cr.cr.lf sequence.)  If some lines end lf, and others as
+#  cr.lf, the file is presumed binary.  If the cr character appears anywhere
+#  except prefixed to an lf, the file is presumed binary.  If there is no 
+#  change in the resulting file size, or the file is binary, the conversion 
+#  is discarded.
+#  
+#  Todo: Handle NULL stdin characters gracefully.
+#
+
+use IO::File;
+use File::Find;
+
+# The ignore list is '-' seperated, with this leading hyphen and
+# trailing hyphens in ever concatinated list below.
+$ignore = "-";
+
+# Image formats
+$ignore .= "gif-jpg-jpeg-png-ico-bmp-";
+
+# Archive formats
+$ignore .= "tar-gz-z-zip-jar-war-bz2-tgz-";
+
+# Many document formats
+$ignore .= "eps-psd-pdf-ai-";
+
+# Some encodings
+$ignore .= "ucs2-ucs4-";
+
+# Some binary objects
+$ignore .= "class-so-dll-exe-obj-a-o-lo-slo-sl-dylib-";
+
+# Some build env files
+$ignore .= "mcp-xdc-ncb-opt-pdb-ilk-sbr-";
+
+$preservedate = 1;
+
+$forceending = 0;
+
+$givenpaths = 0;
+
+$notnative = 0;
+
+while (defined @ARGV[0]) {
+    if (@ARGV[0] eq '--touch') {
+        $preservedate = 0;
+    }
+    elsif (@ARGV[0] eq '--nocr') {
+        $notnative = -1;
+    }
+    elsif (@ARGV[0] eq '--cr') {
+        $notnative = 1;
+    }
+    elsif (@ARGV[0] eq '--force') {
+        $forceending = 1;
+    }
+    elsif (@ARGV[0] eq '--FORCE') {
+        $forceending = 2;
+    }
+    elsif (@ARGV[0] =~ m/^-/) {
+        die "What is " . @ARGV[0] . " supposed to mean?\n\n" 
+	  . "Syntax:\t$0 [option()s] [path(s)]\n\n" . <<'OUTCH'
+Where:	paths specifies the top level directory to convert (default of '.')
+	options are;
+
+	  --cr     keep/add one ^M
+	  --nocr   remove ^M's
+	  --touch  the datestamp (default: keeps date/attribs)
+	  --force  mismatched corrections (unbalanced ^M's)
+	  --FORCE  all files regardless of file name!
+
+OUTCH
+    }
+    else {
+        find(\&totxt, @ARGV[0]);
+	print "scanned " . @ARGV[0] . "\n";
+	$givenpaths = 1;
+    }
+    shift @ARGV;
+}
+
+if (!$givenpaths) {
+    find(\&totxt, '.');
+    print "did .\n";
+}
+
+sub totxt {
+        $oname = $_;
+	$tname = '.#' . $_;
+        if (!-f) {
+            return;
+        }
+	@exts = split /\./;
+	if ($forceending < 2) {
+            while ($#exts && ($ext = pop(@exts))) {
+                if ($ignore =~ m|-$ext-|i) {
+                    return;
+                }
+	    }
+        }
+	@ostat = stat($oname);
+        $srcfl = new IO::File $oname, "r" or die;
+	$dstfl = new IO::File $tname, "w" or die;
+        binmode $srcfl; 
+	if ($notnative) {
+            binmode $dstfl;
+	} 
+	undef $t;
+        while (<$srcfl>) { 
+            if (s/(\r*)\n$/\n/) {
+		$n = length $1;
+		if (!defined $t) { 
+		    $t = $n; 
+		}
+		if (!$forceending && (($n != $t) || m/\r/)) {
+		    print "mismatch in " .$oname. ":" .$n. " expected " .$t. "\n";
+		    undef $t;
+		    last;
+		}
+	        elsif ($notnative > 0) {
+                    s/\n$/\r\n/; 
+                }
+            }
+	    print $dstfl $_; 
+	}
+	if (defined $t && (tell $srcfl == tell $dstfl)) {
+	    undef $t;
+	}
+	undef $srcfl;
+	undef $dstfl;
+	if (defined $t) {
+            unlink $oname or die;
+            rename $tname, $oname or die;
+            @anames = ($oname);
+            if ($preservedate) {
+                utime $ostat[9], $ostat[9], @anames;
+            }
+            chmod $ostat[2] & 07777, @anames;
+            chown $ostat[5], $ostat[6], @anames;
+            print "Converted file " . $oname . " to text in " . $File::Find::dir . "\n"; 
+	}
+	else {
+	    unlink $tname or die;
+	}
+}

Modified: branches/tomcat5.5/upstream/current/connectors/jk/tools/reports/tomcat_reports.pl
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/tools/reports/tomcat_reports.pl	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/tools/reports/tomcat_reports.pl	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,12 +1,13 @@
 #!/usr/local/bin/perl
 
 #
-# Copyright 1999-2004 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #    http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 # limitations under the License.
 #
 
-# $Id: tomcat_reports.pl 417697 2006-06-28 08:27:04Z rjung $
+# $Id: tomcat_reports.pl 466585 2006-10-21 22:16:34Z markt $
 
 # Author: Glenn Nielsen
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/tools/reports/tomcat_trend.pl
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/tools/reports/tomcat_trend.pl	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/tools/reports/tomcat_trend.pl	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,12 +1,13 @@
 #!/usr/local/bin/perl
 
 #
-# Copyright 1999-2004 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #    http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 # limitations under the License.
 #
 
-# $Id: tomcat_trend.pl 417697 2006-06-28 08:27:04Z rjung $
+# $Id: tomcat_trend.pl 466585 2006-10-21 22:16:34Z markt $
 
 # Author:  Glenn Nielsen
 

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/ajp/ajpv13a.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/ajp/ajpv13a.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/ajp/ajpv13a.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,694 @@
+<?xml version="1.0"?> 
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="ajpv13a.html">
+
+  &project;
+ <copyright>
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+</copyright>
+<properties>
+<title>AJPv13</title>
+<author email="danmil at shore.net">danmil at shore.net</author>
+<author email="jfrederic.clere at fujitsu-siemens.com">Jean-Frederic Clere</author>
+<date>$Date: 2006-12-03 05:55:56 -0700 (Sun, 03 Dec 2006) $</date>
+</properties>
+<body>
+<section name="Intro">
+
+<p>
+The original document was written by
+Dan Milstein, <author email="danmil at shore.net">danmil at shore.net</author>
+on December 2000. The present document is generated out of an xml file
+to allow a more easy integration in the Tomcat documentation.
+
+</p>
+
+<p>
+This describes the Apache JServ Protocol version 1.3 (hereafter
+<b>ajp13</b>).  There is, apparently, no current documentation of how the
+protocol works.  This document is an attempt to remedy that, in order to
+make life easier for maintainers of JK, and for anyone who wants to
+port the protocol somewhere (into jakarta 4.x, for example).
+</p>
+
+</section>
+
+<section name="author">
+
+<p>
+I am not one of the designers of this protocol -- I believe that Gal
+Shachor was the original designer.  Everything in this document is derived
+from the actual implementation I found in the tomcat 3.x code.  I hope it
+is useful, but I can't make any grand claims to perfect accuracy.  I also
+don't know why certain design decisions were made.  Where I was able, I've
+offered some possible justifications for certain choices, but those are
+only my guesses.  In general, the C code which Shachor wrote is very clean
+and comprehensible (if almost totally undocumented).  I've cleaned up the
+Java code, and I think it's reasonably readable.
+</p>
+</section>
+
+<section name="Design Goals">
+
+<p>
+According to email from Gal Shachor to the jakarta-dev mailing list,
+the original goals of <b>JK</b> (and thus <b>ajp13</b>) were to extend
+<b>mod_jserv</b> and <b>ajp12</b> by (I am only including the goals which
+relate to communication between the web server and the servlet container):
+
+<ul>
+  <li> Increasing performance (speed, specifically). </li>
+
+  <li> Adding support for SSL, so that <code>isSecure()</code> and
+       <code>getScheme()</code> will function correctly within the servlet
+       container.  The client certificates and cipher suite will be
+       available to servlets as request attributes. </li>
+
+</ul>
+</p>
+</section>
+
+<section name="Overview of the protocol">
+
+<p>
+The <b>ajp13</b> protocol is packet-oriented.  A binary format was
+presumably chosen over the more readable plain text for reasons of
+performance.  The web server communicates with the servlet container over
+TCP connections.  To cut down on the expensive process of socket creation,
+the web server will attempt to maintain persistent TCP connections to the
+servlet container, and to reuse a connection for multiple request/response
+cycles.
+</p><p>
+Once a connection is assigned to a particular request, it will not be
+used for any others until the request-handling cycle has terminated.  In
+other words, requests are not multiplexed over connections.  This makes
+for much simpler code at either end of the connection, although it does
+cause more connections to be open at once.
+</p><p>
+Once the web server has opened a connection to the servlet container,
+the connection can be in one of the following states:
+</p><p>
+<ul>
+  <li> Idle <br/> No request is being handled over this connection. </li>
+  <li> Assigned <br/> The connecton is handling a specific request.</li>
+</ul>
+
+</p><p>
+Once a connection is assigned to handle a particular request, the basic
+request informaton (e.g. HTTP headers, etc) is sent over the connection in
+a highly condensed form (e.g. common strings are encoded as integers).
+Details of that format are below in Request Packet Structure. If there is a
+body to the request (content-length > 0), that is sent in a separate
+packet immediately after.
+</p><p>
+At this point, the servlet container is presumably ready to start
+processing the request.  As it does so, it can send the
+following messages back to the web server:
+
+<ul>
+  <li>SEND_HEADERS <br/>Send a set of headers back to the browser.</li>
+
+  <li>SEND_BODY_CHUNK <br/>Send a chunk of body data back to the browser.</li>
+
+  <li>GET_BODY_CHUNK <br/>Get further data from the request if it hasn't all
+  been transferred yet.  This is necessary because the packets have a fixed
+  maximum size and arbitrary amounts of data can be included the body of a
+  request (for uploaded files, for example).  (Note: this is unrelated to
+  HTTP chunked tranfer).</li>
+
+  <li>END_RESPONSE <br/> Finish the request-handling cycle.</li>
+</ul>
+</p><p>
+
+Each message is accompanied by a differently formatted packet of data.  See
+Response Packet Structures below for details.
+</p>
+</section>
+
+<section name="Basic Packet Structure">
+
+<p>
+There is a bit of an XDR heritage to this protocol, but it differs in
+lots of ways (no 4 byte alignment, for example).
+</p><p>
+Byte order: I am not clear about the endian-ness of the individual
+bytes.  I'm guessing the bytes are little-endian, because that's what XDR
+specifies, and I'm guessing that sys/socket library is magically making
+that so (on the C side).  If anyone with a better knowledge of socket calls
+can step in, that would be great.
+</p><p>
+There are four data types in the protocol: bytes, booleans, integers and
+strings.
+
+<dl>
+  <dt><b>Byte</b></dt>
+  <dd>A single byte.</dd>
+
+  <dt><b>Boolean</b></dt>
+  <dd>A single byte, 1 = true, 0 = false.  Using other non-zero values as
+  true (i.e. C-style) may work in some places, but it won't in
+  others.</dd>
+  
+  <dt><b>Integer</b></dt>
+  <dd>A number in the range of 0 to 2^16 (32768).  Stored in 2 bytes with
+  the high-order byte first.</dd>
+
+  <dt><b>String</b></dt>
+  <dd>A variable-sized string (length bounded by 2^16). Encoded with the
+  length packed into two bytes first, followed by the string (including the
+  terminating '\0').  Note that the encoded length does <b>not</b> include
+  the trailing '\0' -- it is like <code>strlen</code>.  This is a touch
+  confusing on the Java side, which is littered with odd autoincrement
+  statements to skip over these terminators.  I believe the reason this was
+  done was to allow the C code to be extra efficient when reading strings
+  which the servlet container is sending back -- with the terminating \0
+  character, the C code can pass around references into a single buffer,
+  without copying.  If the \0 was missing, the C code would have to copy
+  things out in order to get its notion of a string.</dd>
+</dl>
+</p>
+
+<subsection name="Packet Size">
+<p>
+According to much of the code, the max packet
+size is 8 * 1024 bytes (8K).  The actual length of the packet is encoded in the
+header.
+</p>
+</subsection>
+
+<subsection name="Packet Headers">
+<p>
+Packets sent from the server to the container begin with
+<code>0x1234</code>.  Packets sent from the container to the server begin
+with <code>AB</code> (that's the ASCII code for A followed by the ASCII
+code for B).  After those first two bytes, there is an integer (encoded as
+above) with the length of the payload.  Although this might suggest that
+the maximum payload could be as large as 2^16, in fact, the code sets the
+maximum to be 8K.
+
+
+<table>
+  <tr>
+    <th colspan="6">Packet Format (Server->Container)</th>
+  </tr>
+
+  <tr>
+    <th>Byte</th>
+    <td>0</td>
+    <td>1</td>
+    <td>2</td>
+    <td>3</td>
+    <td>4...(n+3)</td>
+  </tr>
+
+  <tr>
+    <th>Contents</th>
+    <td>0x12</td>
+    <td>0x34</td>
+    <td colspan="2">Data Length (n)</td>
+    <td>Data</td>
+  </tr>
+</table>
+
+<table>
+  <tr>
+    <th colspan="6"><b>Packet Format (Container->Server)</b></th>
+  </tr>
+
+  <tr>
+    <th>Byte</th>
+    <td>0</td>
+    <td>1</td>
+    <td>2</td>
+    <td>3</td>
+    <td>4...(n+3)</td>
+  </tr>
+
+  <tr>
+    <th>Contents</th>
+    <td>A</td>
+    <td>B</td>
+    <td colspan="2">Data Length (n)</td>
+    <td>Data</td>
+  </tr>
+</table>
+</p>
+<p>
+<A NAME="prefix-codes"></A> For most packets, the first byte of the
+payload encodes the type of message.  The exception is for request body
+packets sent from the server to the container -- they are sent with a
+standard packet header (0x1234 and then length of the packet), but without
+any prefix code after that (this seems like a mistake to me).
+</p><p>
+The web server can send the following messages to the servlet container:
+
+<table>
+  <tr>
+    <th>Code</th>
+    <th>Type of Packet</th>
+    <th>Meaning</th>
+  </tr>
+  <tr>
+    <td>2</td>
+    <td>Forward Request</td>
+    <td>Begin the request-processing cycle with the following data</td>
+  </tr>
+  <tr>
+    <td>7</td>
+    <td>Shutdown</td>
+    <td>The web server asks the container to shut itself down.</td>
+  </tr>
+  <tr>
+    <td>8</td>
+    <td>Ping</td>
+    <td>The web server asks the container to take control (secure login phase).</td>
+  </tr>
+  <tr>
+    <td>10</td>
+    <td>CPing</td>
+    <td>The web server asks the container to respond quickly with a CPong.</td>
+  </tr>
+  <tr>
+    <td>none</td>
+    <td>Data</td>
+    <td>Size (2 bytes) and corresponding body data.</td>
+  </tr>
+</table>
+</p>
+<p>
+To ensure some
+basic security, the container will only actually do the <code>Shutdown</code> if the
+request comes from the same machine on which it's hosted.
+</p>
+<p>
+The first <code>Data</code> packet is send immediatly after the <code>Forward Request</code> by the web server.
+</p>
+
+<p>The servlet container can send the following types of messages to the web
+server:
+<table>
+  <tr>
+    <th>Code</th>
+    <th>Type of Packet</th>
+    <th>Meaning</th>
+  </tr>
+  <tr>
+    <td>3</td>
+    <td>Send Body Chunk</td>
+    <td>Send a chunk of the body from the servlet container to the web
+    server (and presumably, onto the browser). </td>
+  </tr>
+  <tr>
+    <td>4</td>
+    <td>Send Headers</td>
+    <td>Send the response headers from the servlet container to the web
+    server (and presumably, onto the browser).</td>
+  </tr>
+  <tr>
+    <td>5</td>
+    <td>End Response</td>
+    <td>Marks the end of the response (and thus the request-handling cycle).</td>
+  </tr>
+  <tr>
+    <td>6</td>
+    <td>Get Body Chunk</td>
+    <td>Get further data from the request if it hasn't all been transferred
+    yet.</td>
+  </tr>
+  <tr>
+    <td>9</td>
+    <td>CPong Reply</td>
+    <td>The reply to a CPing request</td>
+  </tr>
+</table>
+</p>
+<p>
+Each of the above messages has a different internal structure, detailed below.
+</p>
+</subsection>
+</section>
+
+<section name="Request Packet Structure">
+
+<p>
+For messages from the server to the container of type "Forward Request":
+</p><p>
+<source>
+AJP13_FORWARD_REQUEST :=
+    prefix_code      (byte) 0x02 = JK_AJP13_FORWARD_REQUEST
+    method           (byte)
+    protocol         (string)
+    req_uri          (string)
+    remote_addr      (string)
+    remote_host      (string)
+    server_name      (string)
+    server_port      (integer)
+    is_ssl           (boolean)
+    num_headers      (integer)
+    request_headers *(req_header_name req_header_value)
+    attributes      *(attribut_name attribute_value)
+    request_terminator (byte) OxFF
+</source>
+</p><p>
+The <code>request_headers</code> have the following structure:
+</p><p>
+<source>
+req_header_name := 
+    sc_req_header_name | (string)  [see below for how this is parsed]
+
+sc_req_header_name := 0xA0xx (integer)
+
+req_header_value := (string)
+</source>
+</p><p>
+
+The <code>attributes</code> are optional and have the following structure:
+</p><p>
+<source>
+attribute_name := sc_a_name | (sc_a_req_attribute string)
+
+attribute_value := (string)
+
+</source>
+</p><p>
+Not that the all-important header is "content-length', because it
+determines whether or not the container looks for another packet
+immediately.
+</p><p>
+Detailed description of the elements of Forward Request.
+</p>
+<subsection name="request_prefix">
+<p>
+For all requests, this will be 2.
+See above for details on other <A HREF="#prefix-codes">prefix codes</A>.
+</p>
+</subsection>
+
+<subsection name="method">
+<p>
+The HTTP method, encoded as a single byte:
+</p>
+
+<p>
+<table>
+  <tr><th>Command Name</th><th>Code</th></tr>
+  <tr><td>OPTIONS</td><td>1</td></tr>
+  <tr><td>GET</td><td>2</td></tr>
+  <tr><td>HEAD</td><td>3</td></tr>
+  <tr><td>POST</td><td>4</td></tr>
+  <tr><td>PUT</td><td>5</td></tr>
+  <tr><td>DELETE</td><td>6</td></tr>
+  <tr><td>TRACE</td><td>7</td></tr>
+  <tr><td>PROPFIND</td><td>8</td></tr>
+  <tr><td>PROPPATCH</td><td>9</td></tr>
+  <tr><td>MKCOL</td><td>10</td></tr>
+  <tr><td>COPY</td><td>11</td></tr>
+  <tr><td>MOVE</td><td>12</td></tr>
+  <tr><td>LOCK</td><td>13</td></tr>
+  <tr><td>UNLOCK</td><td>14</td></tr>
+  <tr><td>ACL</td><td>15</td></tr>
+  <tr><td>REPORT</td><td>16</td></tr>
+  <tr><td>VERSION-CONTROL</td><td>17</td></tr>
+  <tr><td>CHECKIN</td><td>18</td></tr>
+  <tr><td>CHECKOUT</td><td>19</td></tr>
+  <tr><td>UNCHECKOUT</td><td>20</td></tr>
+  <tr><td>SEARCH</td><td>21</td></tr>
+  <tr><td>MKWORKSPACE</td><td>22</td></tr>
+  <tr><td>UPDATE</td><td>23</td></tr>
+  <tr><td>LABEL</td><td>24</td></tr>
+  <tr><td>MERGE</td><td>25</td></tr>
+  <tr><td>BASELINE_CONTROL</td><td>26</td></tr>
+  <tr><td>MKACTIVITY</td><td>27</td></tr>
+</table>
+</p>
+
+<p>Later version of ajp13, when used with mod_jk2, will transport 
+additional methods, even if they are not in this list.
+</p>
+
+</subsection>
+
+<subsection  name="protocol, req_uri, remote_addr, remote_host, server_name, server_port, is_ssl">
+<p>
+  These are all fairly self-explanatory.  Each of these is required, and
+  will be sent for every request.
+</p>
+</subsection>
+
+<subsection name="Headers">
+<p>
+  The structure of <code>request_headers</code> is the following:
+  First, the number of headers <code>num_headers</code> is encoded.
+  Then, a series of header name <code>req_header_name</code> / value
+  <code>req_header_value</code> pairs follows.
+  Common header names are encoded as integers,
+  to save space.  If the header name is not in the list of basic headers,
+  it is encoded normally (as a string, with prefixed length).  The list of
+  common headers <code>sc_req_header_name</code>and their codes
+  is as follows (all are case-sensitive):
+</p><p>
+<table>
+  <tr><th>Name</th><th>Code value</th><th>Code name</th></tr>
+  <tr><td>accept</td><td>0xA001</td><td>SC_REQ_ACCEPT</td></tr>
+  <tr><td>accept-charset</td><td>0xA002</td><td>SC_REQ_ACCEPT_CHARSET</td></tr>
+  <tr><td>accept-encoding</td><td>0xA003</td><td>SC_REQ_ACCEPT_ENCODING</td></tr>
+  <tr><td>accept-language</td><td>0xA004</td><td>SC_REQ_ACCEPT_LANGUAGE</td></tr>
+  <tr><td>authorization</td><td>0xA005</td><td>SC_REQ_AUTHORIZATION</td></tr>
+  <tr><td>connection</td><td>0xA006</td><td>SC_REQ_CONNECTION</td></tr>
+  <tr><td>content-type</td><td>0xA007</td><td>SC_REQ_CONTENT_TYPE</td></tr>
+  <tr><td>content-length</td><td>0xA008</td><td>SC_REQ_CONTENT_LENGTH</td></tr>
+  <tr><td>cookie</td><td>0xA009</td><td>SC_REQ_COOKIE</td></tr>
+  <tr><td>cookie2</td><td>0xA00A</td><td>SC_REQ_COOKIE2</td></tr>
+  <tr><td>host</td><td>0xA00B</td><td>SC_REQ_HOST</td></tr>
+  <tr><td>pragma</td><td>0xA00C</td><td>SC_REQ_PRAGMA</td></tr>
+  <tr><td>referer</td><td>0xA00D</td><td>SC_REQ_REFERER</td></tr>
+  <tr><td>user-agent</td><td>0xA00E</td><td>SC_REQ_USER_AGENT</td></tr>
+</table>
+</p><p>
+  The Java code that reads this grabs the first two-byte integer and if
+  it sees an <code>'0xA0'</code> in the most significant
+  byte, it uses the integer in the second byte as an index into an array of
+  header names.  If the first byte is not '0xA0', it assumes that the
+  two-byte integer is the length of a string, which is then read in.
+</p><p>
+  This works on the assumption that no header names will have length
+  greater than 0x9999 (==0xA000 - 1), which is perfectly reasonable, though
+  somewhat arbitrary. (If you, like me, started to think about the cookie
+  spec here, and about how long headers can get, fear not -- this limit is
+  on header <b>names</b> not header <b>values</b>.  It seems unlikely that
+  unmanageably huge header names will be showing up in the HTTP spec any time
+  soon).
+</p><p>
+  <b>Note:</b> The <code>content-length</code> header is extremely
+  important.  If it is present and non-zero, the container assumes that
+  the request has a body (a POST request, for example), and immediately
+  reads a separate packet off the input stream to get that body.
+</p>
+</subsection>
+
+<subsection name="Attributes">
+<p>
+
+  The attributes prefixed with a <code>?</code>
+  (e.g. <code>?context</code>) are all optional.  For each, there is a
+  single byte code to indicate the type of attribute, and then a string to
+  give its value.  They can be sent in any order (thogh the C code always
+  sends them in the order listed below).  A special terminating code is
+  sent to signal the end of the list of optional attributes. The list of
+  byte codes is:
+</p><p>
+
+<table>
+  <tr><th>Information</th><th>Code Value</th><th>Note</th></tr>
+  <tr><td>?context</td><td>0x01</td><td>Not currently implemented</td></tr>
+  <tr><td>?servlet_path</td><td>0x02</td><td>Not currently implemented</td></tr>
+  <tr><td>?remote_user</td><td>0x03</td><td></td></tr>
+  <tr><td>?auth_type</td><td>0x04</td><td></td></tr>
+  <tr><td>?query_string</td><td>0x05</td><td></td></tr>
+  <tr><td>?route</td><td>0x06</td><td></td></tr>
+  <tr><td>?ssl_cert</td><td>0x07</td><td></td></tr>
+  <tr><td>?ssl_cipher</td><td>0x08</td><td></td></tr>
+  <tr><td>?ssl_session</td><td>0x09</td><td></td></tr>
+  <tr><td>?req_attribute</td><td>0x0A</td><td>Name (the name of the attribut follows)</td></tr>
+  <tr><td>?ssl_key_size</td><td>0x0B</td><td></td></tr>
+  <tr><td>are_done</td><td>0xFF</td><td>request_terminator</td></tr>
+</table>
+
+</p><p>
+
+  The <code>context</code> and <code>servlet_path</code> are not currently
+  set by the C code, and most of the Java code completely ignores whatever
+  is sent over for those fields (and some of it will actually break if a
+  string is sent along after one of those codes).  I don't know if this is
+  a bug or an unimplemented feature or just vestigial code, but it's
+  missing from both sides of the connection.
+</p><p>
+  The <code>remote_user</code> and <code>auth_type</code> presumably refer
+  to HTTP-level authentication, and communicate the remote user's username
+  and the type of authentication used to establish their identity (e.g. Basic,
+  Digest).  I'm not clear on why the password isn't also sent, but I don't
+  know HTTP authentication inside and out.
+</p><p>
+  The <code>query_string</code>, <code>ssl_cert</code>,
+  <code>ssl_cipher</code>, and <code>ssl_session</code> refer to the
+  corresponding pieces of HTTP and HTTPS.
+</p><p>
+  The <code>route</code>, as I understand it, is used to support sticky
+  sessions -- associating a user's sesson with a particular Tomcat instance
+  in the presence of multiple, load-balancing servers.  I don't know the
+  details.
+</p><p>
+  Beyond this list of basic attributes, any number of other attributes can
+  be sent via the <code>req_attribute</code> code (0x0A).  A pair of strings
+  to represent the attribute name and value are sent immediately after each
+  instance of that code.  Environment values are passed in via this method.
+</p><p>
+  Finally, after all the attributes have been sent, the attribute terminator,
+  0xFF, is sent.  This signals both the end of the list of attributes and
+  also then end of the Request Packet.
+</p>
+</subsection>
+
+</section>
+
+<section name="Response Packet Structure">
+
+<p>
+For messages which the container can send back to the server.
+
+<source>
+AJP13_SEND_BODY_CHUNK := 
+  prefix_code   3
+  chunk_length  (integer)
+  chunk        *(byte)
+
+
+AJP13_SEND_HEADERS :=
+  prefix_code       4
+  http_status_code  (integer)
+  http_status_msg   (string)
+  num_headers       (integer)
+  response_headers *(res_header_name header_value)
+
+res_header_name := 
+    sc_res_header_name | (string)   [see below for how this is parsed]
+
+sc_res_header_name := 0xA0 (byte)
+
+header_value := (string)
+
+AJP13_END_RESPONSE :=
+  prefix_code       5
+  reuse             (boolean)
+
+
+AJP13_GET_BODY_CHUNK :=
+  prefix_code       6
+  requested_length  (integer)
+</source>
+
+</p>
+<p>
+Details:
+</p>
+
+<subsection name="Send Body Chunk">
+<p>
+  The chunk is basically binary data, and is sent directly back to the browser.
+</p>
+</subsection>
+
+<subsection name="Send Headers">
+<p>
+  The status code and message are the usual HTTP things (e.g. "200" and "OK").
+  The response header names are encoded the same way the request header names are.
+  See <A HREF="#header_encoding">above</A> for details about how the the
+  codes are distinguished from the strings.  The codes for common headers are:
+</p>
+
+<p>
+<table>
+  <tr><th>Name</th><th>Code value</th></tr>
+  <tr><td>Content-Type</td><td>0xA001</td></tr>
+  <tr><td>Content-Language</td><td>0xA002</td></tr>
+  <tr><td>Content-Length</td><td>0xA003</td></tr>
+  <tr><td>Date</td><td>0xA004</td></tr>
+  <tr><td>Last-Modified</td><td>0xA005</td></tr>
+  <tr><td>Location</td><td>0xA006</td></tr>
+  <tr><td>Set-Cookie</td><td>0xA007</td></tr>
+  <tr><td>Set-Cookie2</td><td>0xA008</td></tr>
+  <tr><td>Servlet-Engine</td><td>0xA009</td></tr>
+  <tr><td>Status</td><td>0xA00A</td></tr>
+  <tr><td>WWW-Authenticate</td><td>0xA00B</td></tr>
+</table>
+
+</p>
+
+<p> 
+  After the code or the string header name, the header value is immediately
+  encoded.
+</p>
+
+</subsection>
+
+<subsection name="End Response">
+<p>
+  Signals the end of this request-handling cycle.  If the
+  <code>reuse</code> flag is true (==1), this TCP connection can now be used to
+  handle new incoming requests.  If <code>reuse</code> is false (anything
+  other than 1 in the actual C code), the connection should be closed.
+</p>
+</subsection>
+
+<subsection name="Get Body Chunk">
+<p>
+  The container asks for more data from the request (If the body was
+  too large to fit in the first packet sent over or when the request is
+  chuncked).
+  The server will send a body packet back with an amount of data which is
+  the minimum of the <code>request_length</code>,
+  the maximum send body size (8186 (8 Kbytes - 6)), and the
+  number of bytes actually left to send from the request body.
+<br/>
+  If there is no more data in the body (i.e. the servlet container is
+  trying to read past the end of the body), the server will send back an
+  "empty" packet, which is a body packet with a payload length of 0.
+  (0x12,0x34,0x00,0x00)
+</p>
+</subsection>
+</section>
+
+<section name="Questions I Have">
+
+<p> What happens if the request headers > max packet size?  There is no
+provision to send a second packet of request headers in case there are more
+than 8K (I think this is correctly handled for response headers, though I'm
+not certain).  I don't know if there is a way to get more than 8K worth of
+data into that initial set of request headers, but I'll bet there is
+(combine long cookies with long ssl information and a lot of environment
+variables, and you should hit 8K easily).  I think the connector would just
+fail before trying to send any headers in this case, but I'm not certain.</p>
+
+<p> What about authentication?  There doesn't seem to be any authentication
+of the connection between the web server and the container.  This strikes
+me as potentially dangerous.</p>
+
+</section>
+
+</body>
+</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/ajp/ajpv13ext.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/ajp/ajpv13ext.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/ajp/ajpv13ext.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,686 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="ajpv13ext.html">
+
+  &project;
+<copyright>
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+</copyright>
+<properties>
+<title>AJPv13 extensions Proposal</title>
+<author email="hgomez at apache.org">Henri Gomez</author>
+<date>$Date: 2006-12-03 05:55:56 -0700 (Sun, 03 Dec 2006) $</date>
+</properties>
+<body>
+<section name="Introduction">
+<p>
+This document is a proposal of evolution of the current
+Apache JServ Protocol version 1.3, also known as ajp13.  
+I'll not cover here the full protocol but only the add-on from ajp13.
+
+This nth pass include comments from the tomcat-dev list and
+misses discovered during developpment.
+</p>
+<subsection name="Missing features in AJP13">
+<p>
+ajp13 is a good protocol to link a servlet engine like tomcat to a web server like Apache: 
+
+<ul>
+<li>
+use persistants connections to avoid reconnect time at each request
+</li>
+<li>
+encode many http commands to reduce stream size
+</li>
+<li>
+send to servlet engine many info from web server (like SSL certs)
+</li>
+</ul>
+<p>
+But ajp13 lacks support for : 
+</p>
+<ul>
+<li>
+  security between web server and servlet engine.
+  Anybody can connect to an ajp13 port (no login mecanism used)
+  You could connect, for example with telnet, and keep the remote thread
+  up by not sending any data (no timeout in connection)
+</li>
+<li>
+  context information passed from servlet engine to web server.
+  Part of the configuration of JK, the web server connector, is to
+  indicate to the web server which URI to handle. 
+  The mod_jk JkMount directive, told to web server which URI must be 
+  forwarded to servlet engine.
+  A servlet engine allready knows which URI it handle and TC 3.3 is
+  allready capable to generate a config file for JK from the list
+  of available contexts.
+</li>
+<li>
+  state update of contexts from servlet engine to web server.
+  Big site with farm of Tomcat, like ISP and virtuals hosters,
+  may need to stop a context for admin purposes. In that case the front
+  web server must know that the context is currently down, to eventually
+  relay the request to another Tomcat
+</li>
+<li>
+  verify state of connection before sending request.
+  Actually JK send the request to the servlet engine and next wait 
+  for the answer. But one of the beauty of the socket API, is you that 
+  you could write() to a closed connection without any error reporting, 
+  but a read() to a closed connection return you the error code. 
+</li>
+</ul>
+
+</p>
+</subsection>
+
+<subsection name="Proposed add-ons to AJP13">
+<p>
+Let's descrive here the features and add-on that could be added to AJP13.
+Since this document is a proposal, a reasonable level of chaos must be expected at first.
+Be sure that discussion on tomcat list will help clarify points, add 
+features but the current list seems to be a 'minimun vital'
+
+<ul>
+
+<li>
+Advanced login features at connect time
+</li>
+
+<li>
+Basic authorisation system, where a shared secret key is
+present in web server and servlet engine.
+</li>
+
+<li>
+Basic protocol negociation, just to be sure that if functionnalities are added
+to AJP13 in the future, current implementations will still works.
+</li>
+
+<li>
+Clean handling of 'Unknown packets'
+</li>
+
+<li>
+Extended env vars passed from web-server to servlet engine.
+</li>
+
+<li>
+Add extra SSL informations needed by Servlet 2.3 API (like SSL_KEY_SIZE)
+</li>
+
+</ul>
+
+</p>
+</subsection>
+
+<subsection name="Advanced login">
+<p>
+
+<ol>
+<li>
+WEB-SERVER send LOGIN INIT CMD + NEGOCIATION DATA + WEB SERVER INFO
+</li>
+<li>
+  TOMCAT respond with LOGIN SEED CMD + RANDOM DATA
+</li>
+<li>
+  WEB-SERVER calculted the MD5 of RANDOM DATA+SECRET DATA
+</li>
+<li>
+  WEB-SERVER send LOGIN COMP CMD + MD5 (SECRET DATA + RANDOM DATA)
+</li>
+<li>
+  TOMCAT respond with LOGIN STATUS CMD + NEGOCIED DATA + SERVLET ENGINE INFO
+</li>
+</ol>
+
+To prevent DOS attack, the servlet engine will wait
+the LOGIN CMD only 15/30 seconds and reports the
+timeout exception for admins investigation.
+
+The login command will contains basic protocol
+negociation information like compressing ability, 
+crypto, context info (at start up), context update at 
+run-time (up/down), level of SSL env vars, AJP protocol
+level supported (level1/level2/level3...)
+
+The Web server info will contain web server info and
+connector name (ie Apache 1.3.26 + mod_ssl 2.8.8 + mod_jk 1.2.1 + mod_perl 1.25).
+
+The servlet engine will mask the negociation mask with it's own
+mask (what it can do) and return it when loggin is accepted.
+
+This will help having a basic AJP13 implementation (level 1)
+on a web-server working with a more advanced protocol handler on
+the servlet engine side or vice-versa.
+
+AJP13 was designed to be small and fast and so many
+SSL informations present in the web-server are not
+forwarded to the servlet engine. 
+
+We add here four negociations flags to provide more
+informations on client SSL data (certs), server SSL datas, 
+crypto used, and misc datas (timeout...). 
+</p>
+</subsection>
+
+<subsection name="Messages Stream">
+<p>
+<source>
++----------------+------------------+-----------------+
+| LOGIN INIT CMD | NEGOCIATION DATA | WEB SERVER INFO |
++----------------+------------------+-----------------+
+
++----------------+----------------+
+| LOGIN SEED CMD | MD5 of entropy |
++----------------+----------------+
+
++----------------+----------------------------+
+| LOGIN COMP CMD | MD5 of RANDOM + SECRET KEY |
++----------------+----------------------------+
+
++-----------+---------------+---------------------+
+| LOGOK CMD | NEGOCIED DATA | SERVLET ENGINE INFO |
++-----------+---------------+---------------------+
+
++------------+--------------+
+| LOGNOK CMD | FAILURE CODE |
++------------+--------------+
+</source>
+
+<ul>
+<li>
+LOGIN INIT CMD, LOGIN SEED CMD, LOGIN COMP CMD, LOGOK CMD, LOGNOK CMD are 1 byte long.
+</li>
+<li>
+MD5, MD5 of RANDOM + SECRET KEY are 32 chars long.
+</li>
+<li>
+NEGOCIATION DATA, NEGOCIED DATA, FAILURE CODE are 32 bits long.
+</li>
+<li>
+WEB SERVER INFO, SERVLET ENGINE INFO are CString.
+</li>
+</ul>
+
+The secret key will be set by a new propertie in
+workers.properties : secretkey
+<source>
+worker.ajp13.port=8009
+worker.ajp13.host=localhost
+worker.ajp13.type=ajp13
+worker.ajp13.secretkey=myverysecretkey
+</source>
+</p>
+</subsection>
+
+<subsection name="Shutdown feature">
+<p>
+AJP13 miss a functionnality of AJP12, which is shutdown command.
+A logout will tell servlet engine to shutdown itself.
+<source>
++--------------+----------------------------+
+| SHUTDOWN CMD | MD5 of RANDOM + SECRET KEY |
++--------------+----------------------------+
+
++------------+
+| SHUTOK CMD |
++------------+
+
++-------------+--------------+
+| SHUTNOK CMD | FAILURE CODE |
++-------------+--------------+
+</source>
+
+<ul>
+<li>
+SHUTDOWN CMD, SHUTOK CMD, SHUTNOK CMD are 1 byte long.
+</li>
+<li>
+MD5 of RANDOM + SECRET KEY are 32 chars long.
+</li>
+<li>
+FAILURE CODE is 32 bits long.
+</li>
+</ul>
+
+</p>
+</subsection>
+
+<subsection name="Extended Env Vars feature">
+<p>
+NOTA:
+
+While working on AJP13 in JK, I really discovered "JkEnvVar". 
+The following "Extended Env Vars feature" description may not
+be implemented in extended AJP13 since allready available in original
+implementation.
+
+DESC:
+
+Many users will want to see some of their web-server env vars 
+passed to their servlet engine.
+
+To reduce the network traffic, the web-servlet will send a 
+table to describing the external vars in a shorter fashion.
+
+We'll use there a functionnality allready present in AJP13,
+attributes list :
+
+In the AJP13, we've got :
+
+<source>
+AJP13_FORWARD_REQUEST :=
+    prefix_code      2
+    method           (byte)
+    protocol         (string)
+    req_uri          (string)
+    remote_addr      (string)
+    remote_host      (string)
+    server_name      (string)
+    server_port      (integer)
+    is_ssl           (boolean)
+    num_headers      (integer)
+    request_headers *(req_header_name req_header_value)
+
+    ?context       (byte string)
+    ?servlet_path  (byte string)
+    ?remote_user   (byte string)
+    ?auth_type     (byte string)
+    ?query_string  (byte string)
+    ?route         (byte string)
+    ?ssl_cert      (byte string)
+    ?ssl_cipher    (byte string)
+    ?ssl_session   (byte string)
+
+    ?attributes   *(attribute_name attribute_value)
+    request_terminator (byte)
+</source>
+
+Using short 'web server attribute name' will reduce the 
+network traffic.
+ 
+<source>
++-------------------+---------------------------+-------------------------------+----+
+| EXTENDED VARS CMD | WEB SERVER ATTRIBUTE NAME | SERVLET ENGINE ATTRIBUTE NAME | ES |
++-------------------+---------------------------+-------------------------------+----+
+</source>
+
+ie :
+
+<source>
+JkExtVars S1 SSL_CLIENT_V_START javax.servlet.request.ssl_start_cert_date
+JkExtVars S2 SSL_CLIENT_V_END   javax.servlet.request.ssl_end_cert_date
+JkExtVars S3 SSL_SESSION_ID     javax.servlet.request.ssl_session_id
+
+
++-------------------+----+-------------------------------------------+
+| EXTENDED VARS CMD | S1 | javax.servlet.request.ssl_start_cert_date |
++-------------------+----+-------------------------------------------+
++----+-----------------------------------------+
+| S2 | javax.servlet.request.ssl_end_cert_date |
++----+-----------------------------------------+
++----+-----------------------------------------+
+| S3 | javax.servlet.request.ssl_end_cert_date |
++----+-----------------------------------------+
+</source>
+
+During transmission in extended AJP13 we'll see attributes name
+containing S1, S2, S3 and attributes values of 
+2001/01/03, 2002/01/03, 0123AFE56.
+ 
+This example showed the use of extended SSL vars but 
+any 'personnal' web-server vars like custom authentification
+vars could be reused in the servlet engine.
+The cost will be only some more bytes in the AJP traffic.
+
+<ul>
+<li>
+EXTENDED VARS CMD is 1 byte long.
+</li>
+<li>
+WEB SERVER ATTRIBUTE NAME, SERVLET ENGINE ATTRIBUTE NAME are CString.
+</li>
+<li>
+ES is an empty CString.
+</li>
+</ul>
+
+</p>
+</subsection>
+
+<subsection name="Context informations forwarding for Servlet engine to Web Server">
+<p>
+Just after the LOGON PHASE, the web server will ask for the list of contexts
+and URLs/URIs handled by the servlet engine.
+It will ease installation in many sites, reduce questions about configuration 
+on tomcat-user list, and be ready for servlet API 2.3.
+
+This mode will be activated by a new directive JkAutoMount 
+
+ie: JkAutoMount examples myworker1 /examples/
+
+If we want to get ALL the contexts handled by the servlet engine, willcard
+could be used :
+
+ie: JkAutoMount * myworker1 *
+
+A servlet engine could have many contexts, /examples, /admin, /test.
+We may want to use only some contexts for a given worker. It was
+done previously, in apache HTTP server for example, by setting by 
+hand the JkMount accordingly in each [virtual] area of Apache.
+
+If you web-server support virtual hosting, we'll forward also that
+information to servlet engine which will only return contexts for
+that virtual host. 
+In that case the servlet engine will only return the URL/URI matching
+these particular virtual server (defined in server.xml). 
+This feature will help ISP and big sites which mutualize large farm
+of Tomcat in load-balancing configuration.
+
+<source>
++-----------------+-------------------+----------+----------+----+
+| CONTEXT QRY CMD | VIRTUAL HOST NAME | CONTEXTA | CONTEXTB | ES |
++-----------------+-------------------+----------+----------+----+
+
++------------------+-------------------+----------+-------------------+----------+---------------+----+
+| CONTEXT INFO CMD | VIRTUAL HOST NAME | CONTEXTA | URL1 URL2 URL3 ES | CONTEXTB | URL1 URL2 ... | ES |
++------------------+-------------------+----------+-------------------+----------+---------------+----+
+</source>
+
+We'll discover via context-query, the list of URL/MIMES handled by the remove servlet engine
+for a list of contextes.
+In wildcard mode, CONTEXTA will contains just '*'.
+
+<ul>
+<li>
+CONTEXT QRY CMD and CONTEXT INFO CMD are 1 byte long.
+</li>
+<li>
+VIRTUAL HOST NAME is a CString, ie an array of chars terminated by a null byte (/0).
+</li>
+<li>
+An empty string is just a null byte (/0).
+</li>
+<li>
+ES is an empty CString. Indicate end of URI/URLs or end of CONTEXTs.
+</li>
+</ul>
+
+NB:<br/>
+When VirtualMode is not to be used, the VIRTUAL HOST NAME is '*'.
+In that case the servlet engine will send all contexts handled.
+</p>
+</subsection>
+
+<subsection name="Context informations updates from Servlet engine to Web Server">
+<p>
+Context update are messages caming from the servlet engine each time a context 
+is desactivated/reactivated. The update will be in use when the directive JkUpdateMount.
+This directive will set the AJP13_CONTEXT_UPDATE_NEG flag.
+
+ie: JkUpdateMount myworker1
+
+<source>
++--------------------+-------------------+----------+--------+----------+--------+----+
+| CONTEXT UPDATE CMD | VIRTUAL HOST NAME | CONTEXTA | STATUS | CONTEXTB | STATUS | ES |
++--------------------+-------------------+----------+--------+----------+--------+----+
+</source>
+
+<ul>
+<li>
+CONTEXT UPDATE CMD, STATUS are 1 byte long.
+</li>
+<li>
+VIRTUAL HOST NAME, CONTEXTS are CString.
+</li>
+<li>
+ES is an empty CString. Indicate end of CONTEXTs.
+</li>
+</ul>
+
+NB:<br/>
+When VirtualMode is not in use, the VIRTUAL HOST NAME is '*'.
+STATUS is one byte indicating if context is UP/DOWN/INVALID
+</p>
+</subsection>
+
+<subsection name="Context status query to Servlet engine">
+<p>
+This query will be used by the web-server to determine if a given
+contexts are UP, DOWN or INVALID (and should be removed).
+
+<source>
++-------------------+--------------------+----------+----------+----+
+| CONTEXT STATE CMD |  VIRTUAL HOST NAME | CONTEXTA | CONTEXTB | ES |
++-------------------+--------------------+----------+----------+----+
+
++-------------------------+-------------------+----------+--------+----------+--------+----+
+| CONTEXT STATE REPLY CMD | VIRTUAL HOST NAME | CONTEXTA | STATUS | CONTEXTB | STATUS | ES |
++-------------------------+-------------------+----------+-------------------+--------+----+
+</source>
+
+<ul>
+<li>
+CONTEXT STATE CMD, CONTEXT STATE REPLY CMD, STATUS are 1 byte long.
+</li>
+<li>
+VIRTUAL HOST NAME, CONTEXTs are CString
+</li>
+<li>
+ES is an empty CString
+</li>
+</ul>
+
+NB:<br/>
+When VirtualMode is not in use, the VIRTUAL HOST NAME is an empty string. 
+</p>
+</subsection>
+
+<subsection name="Handling of unknown packets">
+<p>
+Sometimes even with a well negocied protocol, we may be in a situation 
+where one end (web server or servlet engine), will receive a message it
+couldn't understand. In that case the receiver will send an 
+'UNKNOW PACKET CMD' with attached the unhandled message.
+
+<source>
++--------------------+------------------------+-------------------+
+| UNKNOWN PACKET CMD | UNHANDLED MESSAGE SIZE | UNHANDLED MESSAGE |
++--------------------+------------------------+-------------------+
+</source>
+
+Depending on the message, the sender will report an error and if 
+possible will try to forward the message to another endpoint.
+
+<ul>
+<li>
+UNKNOWN PACKET CMD is 1 byte long.
+</li>
+<li>
+UNHANDLED MESSAGE SIZE is 16bits long.
+</li>
+<li>
+UNHANDLED MESSAGE is an array of byte (length is contained in UNHANDLED MESSAGE SIZE)
+</li>
+</ul>
+
+NB:<br/>
+added UNHANDLED MESSAGE SIZE (development)
+</p>
+</subsection>
+
+<subsection name="Verification of connection before sending request">
+<p>
+NOTA: This fonctionality may never be used, since it may slow up the normal process
+since requiring on the web-server side an extra IO (read) before forwarding
+the request.....
+
+One of the beauty of socket APIs, is that you could write on a half closed socket.
+When servlet engine close the socket, the web server will discover it only at the
+next read() to the socket. 
+Basically, in the AJP13 protocol, the web server send the HTTP HEADER and HTTP BODY 
+(POST by chunk of 8K) to the servlet engine and then try to receive the reply. 
+If the connection was broken the web server will learn it only at receive time.
+
+We could use a buffering scheme but what happen when you use the servlet engine
+for upload operations with more than 8ko of datas ?
+
+The hack in the AJP13 protocol is to add some bytes to read after the end of the
+service :
+
+<source>
+EXAMPLE OF DISCUSSION BETWEEN WEB SERVER AND SERVLET ENGINE
+
+AJP HTTP-HEADER (+ HTTP-POST)   (WEB->SERVLET)
+
+AJP HTTP-REPLY					(SERVLET->WEB)
+
+AJP END OF DISCUSSION			(SERVLET->WEB)
+						
+---> AJP STATUS 				(SERVLET->WEB AJP13)
+</source>
+
+The AJP STATUS will not be read by the servlet engine at the end of 
+the request/response #N but at the begining of the next session.
+
+More at that time the web server could also use OS dependants functions
+(or better APR functions) to determine if there is also more data 
+to read. And that datas could be CONTEXT Updates. 
+
+This will avoid the web server sending a request to a 
+desactivated context. In that case, if the load-balancing is used,
+it will search for another servlet engine to handle the request.
+
+And that feature will help ISP and big sites with farm of tomcat, 
+to updates their servlet engine without any service interruption.
+
+<source>
++------------+-------------+
+| STATUS CMD | STATUS DATA |
++------------+-------------+
+</source>
+
+<ul>
+<li>
+STATUS CMD and STATUS DATA are one byte long.
+</li>
+</ul>
+</p>
+</subsection>
+
+</section>
+
+<section name="Conclusion">
+<p>
+The goal of the extended AJP13 protocol is to overcome some of the original AJP13 limitation.
+An easier configuration, a better support for large site and farm of Tomcat, 
+a simple authentification system and provision for protocol updates.
+
+Using the stable ajp13 implementation in JK (native) and in servlet 
+engine (java), it's a reasonable evolution of the well known ajp13.
+</p>
+</section>
+
+<section name="Commands and IDs in extended AJP13 Index">
+<p>
+Index of Commands and ID to be added in AJP13 Protocol
+</p>
+
+<subsection name="Commands IDs">
+<p>
+<table>
+  <tr><th>Command Name</th><th>Command Number</th></tr>
+  <tr><td>AJP13_LOGINIT_CMD</td><td>0x10</td></tr>
+  <tr><td>AJP13_LOGSEED_CMD</td><td>0x11</td></tr>
+  <tr><td>AJP13_LOGCOMP_CMD</td><td>0x12</td></tr>
+  <tr><td>AJP13_LOGOK_CMD</td><td>0x13</td></tr>
+  <tr><td>AJP13_LOGNOK_CMD</td><td>0x14</td></tr>
+  <tr><td>AJP13_CONTEXT_QRY_CMD</td><td>0x15</td></tr>
+  <tr><td>AJP13_CONTEXT_INFO_CMD</td><td>0x16</td></tr>
+  <tr><td>AJP13_CONTEXT_UPDATE_CMD</td><td>0x17</td></tr>
+  <tr><td>AJP13_STATUS_CMD</td><td>0x18</td></tr>
+  <tr><td>AJP13_SHUTDOWN_CMD</td><td>0x19</td></tr>
+  <tr><td>AJP13_SHUTOK_CMD</td><td>0x1A</td></tr>
+  <tr><td>AJP13_SHUTNOK_CMD</td><td>0x1B</td></tr>
+  <tr><td>AJP13_CONTEXT_STATE_CMD</td><td>0x1C</td></tr>
+  <tr><td>AJP13_CONTEXT_STATE_REP_CMD</td><td>0x1D</td></tr>
+  <tr><td>AJP13_UNKNOW_PACKET_CMD</td><td>0x1E</td></tr>
+</table>
+
+</p>
+</subsection>
+
+<subsection name="Negociations Flags">
+<p>
+<table>
+  <tr><th>Command Name</th><th>Number</th><th>Description</th></tr>
+  <tr><td>AJP13_CONTEXT_INFO_NEG</td><td>0x80000000</td><td>web-server want context info after login</td></tr>
+  <tr><td>AJP13_CONTEXT_UPDATE_NEG</td><td>0x40000000</td><td>web-server want context updates</td></tr>
+  <tr><td>AJP13_GZIP_STREAM_NEG</td><td>0x20000000</td><td>web-server want compressed stream</td></tr>
+  <tr><td>AJP13_DES56_STREAM_NEG</td><td>0x10000000</td><td>web-server want crypted DES56 stream with secret key</td></tr>
+  <tr><td>AJP13_SSL_VSERVER_NEG</td><td>0x08000000</td><td>Extended info on server SSL vars</td></tr>
+  <tr><td>AJP13_SSL_VCLIENT_NEG</td><td>0x04000000</td><td>Extended info on client SSL vars</td></tr>
+  <tr><td>AJP13_SSL_VCRYPTO_NEG</td><td>0x02000000</td><td>Extended info on crypto SSL vars</td></tr>
+  <tr><td>AJP13_SSL_VMISC_NEG</td><td>0x01000000</td><td>Extended info on misc SSL vars</td></tr>
+</table>
+
+<br/>
+
+<table>
+  <tr><th>Negociation ID</th><th>Number</th><th>Description</th></tr>
+  <tr><td>AJP13_PROTO_SUPPORT_AJPXX_NEG</td><td>0x00FF0000</td><td>mask of protocol supported</td></tr>
+  <tr><td>AJP13_PROTO_SUPPORT_AJP13L1_NEG</td><td>0x00010000</td><td>communication could use AJP13 Level 1</td></tr>
+  <tr><td>AJP13_PROTO_SUPPORT_AJP13L2_NEG</td><td>0x00020000</td><td>communication could use AJP13 Level 2</td></tr>
+  <tr><td>AJP13_PROTO_SUPPORT_AJP13L3_NEG</td><td>0x00040000</td><td>communication could use AJP13 Level 3</td></tr>
+</table>
+
+<br/>
+All others flags must be set to 0 since they are reserved for future use.
+
+</p>
+</subsection>
+
+<subsection name="Failure IDs">
+<p>
+<table>
+  <tr><th>Failure Id</th><th>Number</th></tr>
+  <tr><td>AJP13_BAD_KEY_ERR</td><td>0xFFFFFFFF</td></tr>
+  <tr><td>AJP13_ENGINE_DOWN_ERR</td><td>0xFFFFFFFE</td></tr>
+  <tr><td>AJP13_RETRY_LATER_ERR</td><td>0xFFFFFFFD</td></tr>
+  <tr><td>AJP13_SHUT_AUTHOR_FAILED_ERR</td><td>0xFFFFFFFC</td></tr>
+</table>
+</p>
+</subsection>
+
+<subsection name="Status">
+<p>
+<table>
+  <tr><th>Failure Id</th><th>Number</th></tr>
+  <tr><td>AJP13_CONTEXT_DOWN</td><td>0x01</td></tr>
+  <tr><td>AJP13_CONTEXT_UP</td><td>0x02</td></tr>
+  <tr><td>AJP13_CONTEXT_OK</td><td>0x03</td></tr>
+</table>
+</p>
+</subsection>
+
+</section>
+</body>
+</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/ajp/project.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/ajp/project.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/ajp/project.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="Apache Tomcat Connector Documentation - AJP Protocol Reference"
+        href="http://tomcat.apache.org/">
+
+    <title>The Apache Tomcat Connector - AJP Protocol Reference</title>
+
+    <logo href="/images/tomcat.gif">
+      The Apache Tomcat Connector - AJP Protocol Reference
+    </logo>
+<body>
+
+    <menu name="Links">
+        <item name="Docs Home"                  href="../index.html"/>
+    </menu>
+
+    <menu name="Reference Guide">
+        <item name="workers.properties"         href="../reference/workers.html"/>
+        <item name="uriworkermap.properties"    href="../reference/uriworkermap.html"/>
+        <item name="Status Worker"              href="../reference/status.html"/>
+        <item name="Apache"                     href="../reference/apache.html"/>
+        <item name="IIS"                        href="../reference/iis.html"/>
+    </menu>
+
+    <menu name="Generic HowTo">
+        <item name="For the impatient"          href="../generic_howto/quick.html"/>
+        <item name="All about workers"          href="../generic_howto/workers.html"/>
+        <item name="Load Balancing"             href="../generic_howto/loadbalancers.html"/>
+    </menu>
+
+    <menu name="Webserver HowTo">
+        <item name="Apache"                     href="../webserver_howto/apache.html"/>
+        <item name="IIS"                        href="../webserver_howto/iis.html"/>
+        <item name="Netscape/SunOne/Sun"        href="../webserver_howto/nes.html"/>
+    </menu>
+
+    <menu name="AJP Protocol Reference">
+        <item name="AJPv13"                     href="../ajp/ajpv13a.html"/>
+        <item name="AJPv13 Extension Proposal"  href="../ajp/ajpv13ext.html"/>
+    </menu>
+
+    <menu name="Miscellaneous Documentation">
+        <item name="Frequently asked questions" href="../miscellaneous/faq.html"/>
+        <item name="Changelog"                  href="../miscellaneous/changelog.html"/>
+        <item name="Current Native:JK bugs"     href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Tomcat+5&amp;component=Native%3AJK&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=&amp;emailassigned_to2=1&amp;emailreporter2=1&amp;emailcc2=1&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0="/>
+        <item name="Contribute documentation"   href="../miscellaneous/doccontrib.html"/>
+        <item name="JK Status Ant Tasks"        href="../miscellaneous/jkstatustasks.html"/>
+        <item name="Reporting Tools"            href="../miscellaneous/reporttools.html"/>
+        <item name="Old JK/JK2 documentation"   href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html"/>
+    </menu>
+
+    <menu name="News">
+        <item name="2006"                       href="../news/20060101.html"/>
+        <item name="2005"                       href="../news/20050101.html"/>
+        <item name="2004"                       href="../news/20041100.html"/>
+    </menu>
+    
+</body>
+</project>

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/build.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/build.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -64,18 +64,18 @@
       <param name="project-menu" expression="nomenu"/>
     </style>
 
-    <!-- News -->
-    <style basedir="news"
-           destdir="${build.dir}/${dist.name}/news"
+    <!-- Reference Guide -->
+    <style basedir="reference"
+           destdir="${build.dir}/${dist.name}/reference"
          extension=".html"
              style="style.xsl"
           excludes="project.xml"
           includes="*.xml">
       <param name="relative-path" expression=".."/>
     </style>
-    <mkdir     dir="${build.dir}/${dist.name}/news/printer"/>
-    <style basedir="news"
-           destdir="${build.dir}/${dist.name}/news/printer"
+    <mkdir     dir="${build.dir}/${dist.name}/reference/printer"/>
+    <style basedir="reference"
+           destdir="${build.dir}/${dist.name}/reference/printer"
          extension=".html"
              style="style.xsl"
           excludes="project.xml"
@@ -84,18 +84,18 @@
       <param name="project-menu" expression="nomenu"/>
     </style>
 
-    <!-- Common -->
-    <style basedir="common"
-           destdir="${build.dir}/${dist.name}/common"
+    <!-- Generic Howto -->
+    <style basedir="generic_howto"
+           destdir="${build.dir}/${dist.name}/generic_howto"
          extension=".html"
              style="style.xsl"
           excludes="project.xml"
           includes="*.xml">
       <param name="relative-path" expression=".."/>
     </style>
-    <mkdir     dir="${build.dir}/${dist.name}/common/printer"/>
-    <style basedir="common"
-           destdir="${build.dir}/${dist.name}/common/printer"
+    <mkdir     dir="${build.dir}/${dist.name}/generic_howto/printer"/>
+    <style basedir="generic_howto"
+           destdir="${build.dir}/${dist.name}/generic_howto/printer"
          extension=".html"
              style="style.xsl"
           excludes="project.xml"
@@ -104,45 +104,85 @@
       <param name="project-menu" expression="nomenu"/>
     </style>
 
-    <!-- Howto -->
-    <style basedir="howto"
-           destdir="${build.dir}/${dist.name}/howto"
-         extension=".html"
-             style="style.xsl"
-          excludes="project.xml"
-          includes="*.xml">
-      <param name="relative-path" expression=".."/>
-    </style>
-    <mkdir     dir="${build.dir}/${dist.name}/howto/printer"/>
-    <style basedir="howto"
-           destdir="${build.dir}/${dist.name}/howto/printer"
-         extension=".html"
-             style="style.xsl"
-          excludes="project.xml"
-          includes="*.xml">
-      <param name="relative-path" expression="../.."/>
-      <param name="project-menu" expression="nomenu"/>
-    </style>
+        <!-- Webserver Howto -->
+        <style basedir="webserver_howto"
+               destdir="${build.dir}/${dist.name}/webserver_howto"
+             extension=".html"
+                 style="style.xsl"
+              excludes="project.xml"
+              includes="*.xml">
+          <param name="relative-path" expression=".."/>
+        </style>
+        <mkdir     dir="${build.dir}/${dist.name}/webserver_howto/printer"/>
+        <style basedir="webserver_howto"
+               destdir="${build.dir}/${dist.name}/webserver_howto/printer"
+             extension=".html"
+                 style="style.xsl"
+              excludes="project.xml"
+              includes="*.xml">
+          <param name="relative-path" expression="../.."/>
+          <param name="project-menu" expression="nomenu"/>
+        </style>
 
-    <!-- Config -->
-    <style basedir="config"
-           destdir="${build.dir}/${dist.name}/config"
-         extension=".html"
-             style="style.xsl"
-          excludes="project.xml"
-          includes="*.xml">
-      <param name="relative-path" expression=".."/>
-    </style>
-    <mkdir     dir="${build.dir}/${dist.name}/config/printer"/>
-    <style basedir="config"
-           destdir="${build.dir}/${dist.name}/config/printer"
-         extension=".html"
-             style="style.xsl"
-          excludes="project.xml"
-          includes="*.xml">
-      <param name="relative-path" expression="../.."/>
-      <param name="project-menu" expression="nomenu"/>
-    </style>
+        <!-- AJP Protocol Reference -->
+        <style basedir="ajp"
+               destdir="${build.dir}/${dist.name}/ajp"
+             extension=".html"
+                 style="style.xsl"
+              excludes="project.xml"
+              includes="*.xml">
+          <param name="relative-path" expression=".."/>
+        </style>
+        <mkdir     dir="${build.dir}/${dist.name}/ajp/printer"/>
+        <style basedir="ajp"
+               destdir="${build.dir}/${dist.name}/ajp/printer"
+             extension=".html"
+                 style="style.xsl"
+              excludes="project.xml"
+              includes="*.xml">
+          <param name="relative-path" expression="../.."/>
+          <param name="project-menu" expression="nomenu"/>
+        </style>
+
+        <!-- Miscellaneous Documentation -->
+        <style basedir="miscellaneous"
+               destdir="${build.dir}/${dist.name}/miscellaneous"
+             extension=".html"
+                 style="style.xsl"
+              excludes="project.xml"
+              includes="*.xml">
+          <param name="relative-path" expression=".."/>
+        </style>
+        <mkdir     dir="${build.dir}/${dist.name}/miscellaneous/printer"/>
+        <style basedir="miscellaneous"
+               destdir="${build.dir}/${dist.name}/miscellaneous/printer"
+             extension=".html"
+                 style="style.xsl"
+              excludes="project.xml"
+              includes="*.xml">
+          <param name="relative-path" expression="../.."/>
+          <param name="project-menu" expression="nomenu"/>
+        </style>
+
+        <!-- News -->
+        <style basedir="news"
+               destdir="${build.dir}/${dist.name}/news"
+             extension=".html"
+                 style="style.xsl"
+              excludes="project.xml"
+              includes="*.xml">
+          <param name="relative-path" expression=".."/>
+        </style>
+        <mkdir     dir="${build.dir}/${dist.name}/news/printer"/>
+        <style basedir="news"
+               destdir="${build.dir}/${dist.name}/news/printer"
+             extension=".html"
+                 style="style.xsl"
+              excludes="project.xml"
+              includes="*.xml">
+          <param name="relative-path" expression="../.."/>
+          <param name="project-menu" expression="nomenu"/>
+        </style>
  
   </target>
 

Deleted: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/changelog.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/changelog.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/changelog.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,632 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
-  <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="changelog.html">
-
-  &project;
-
-  <properties>
-    <author email="mturk at apache.org">Mladen Turk</author>
-    <title>Changelog</title>
-  </properties>
-
-<body>
-
-<section name="Preface">
-  <p>
-  This is the Changelog for Tomcat Connectors. This changelog
-  does not contain all updates and fixes to the Tomcat connectors (yet).
-  It should contain fixes made only after November 10th 2004, when the
-  new documentation project for JK was started.
-  </p>
-</section>
-<section name="Changes between 1.2.18 and 1.2.19">
-  <br />
-  <subsection name="Native">
-    <changelog>
-      <update>
-      Add feature to force the recovery of workers that are
-      member of loadbalancer if all the members are in error
-      state. This fixes the time gap where 503 was returned
-      caused by recovery_timeout although the backend was
-      ready to handle the requests. (mturk)
-      </update>
-      <update>
-      Docs: Seperate deprecated directives in their own table. (rjung)
-      </update>
-      <update>
-      Docs: Allow "-" and "_" in worker names. (rjung)
-      </update>
-      <update>
-      Allow multiple lines with attributes "balance_workers" and "mount". (rjung)
-      </update>
-      <fix>
-      Make jk_is_some_property match more precisely. (rjung)
-      </fix>
-      <update>
-      JkStatus: Make refresh interval changeable. (rjung)
-      </update>
-      <fix>
-      JkStatus: Adjust display of recover time wrt. global maintenance. (rjung)
-      </fix>
-      <update>
-      LB: Resetting worker state from OK to NA, if worker has been idle
-      too long. (rjung)
-      </update>
-      <fix>
-      Avoid compiler warnings concerning the use of lb_*_type arrays.
-      Use functions instead. (rjung)
-      </fix>
-      <update>
-      Added %R JkRequestLogFormat option for Apache 1 and Apache 2. (mturk)
-      </update>
-      <update>
-      Allow changing jvm Route from status manager. (mturk)
-      </update>
-      <fix>
-      Do not retun 400 if Tomcat fails in the midle of the post
-      request. Return 500 insted. (mturk)
-      </fix>
-      <update>
-      LB: Combine ok/error/recovering/busy runtime states into a single scalar. (rjung)
-      </update>
-      <update>
-      LB: Combine active/disabled/stopped configuration states into a single scalar. (rjung)
-      </update>
-      <update>
-      LB: Add several Apache notes to enable standard logging for load balancer results. (rjung)
-      </update>
-      <update>
-      LB: Reorganisation of the main load balancer service loop. (rjung)
-      </update>
-      <update>
-      Implement hierarchical worker configuration via attribute "reference". (rjung)
-      </update>
-      <update>
-      Log deprecated properties. (rjung)
-      </update>
-      <fix>
-      IIS: Fix simple_rewrite for the cases where the
-      rewritten url is larger then the original one. (mturk)
-      </fix>
-      <update>
-      New JkOption "DisableReuse" to disable connection persistence. (jim)
-      </update>
-      <update>
-      LB: Move sessionid retrieval out of get_most_suitable_worker into service. (rjung)
-      </update>
-      <update>
-      Code cleanup for all service methods (use TRACE, JK_LOG_NULL_PARAMS, null pointer checks). (rjung)
-      </update>
-      <update>
-      JKSTATUS: add refresh link. No refresh for updates. Redirect to list view after update. (rjung)
-      </update>
-      <update>
-      Add new hook add_log_items into servers. (rjung)
-      </update>
-      <update>
-      APACHE httpd: Rename apache logging notes. (rjung)
-      </update>
-      <update>
-      LB: Rename lock and method constants. Add constants for defaults. (rjung)
-      </update>
-      <fix>
-      Default log level should be INFO and not DEBUG.
-      Default log level should be the same for all server types. (rjung)
-      </fix>
-      <fix>
-      Make rewrite_rule_map and log_level as non mandatory
-      directives for isapi_redirect. (mturk)
-      </fix>
-      <fix>
-      <bug>40107</bug>: Rewrite is_socket_connected function.
-      Non blocking socket is not used any more. (mturk)
-      </fix>
-      <update>
-      Allow building with VS2005 without too many warnings. (mturk)
-      </update>
-      <fix>
-      Decide by MMN, which piped log API we should use.
-      mod_jk 1.2.18 broke compilation with Apache 1.3 pre 1.3.28. (rjung)
-      </fix>
-    </changelog>
-  </subsection>
-</section>
-<section name="Changes between 1.2.17 and 1.2.18">
-  <br />
-  <subsection name="Native">
-    <changelog>
-      <fix>
-      Using socklen_t in getsockopt. Also introducing jk_sock_t. (mturk)
-      </fix>
-      <update>
-      Allow recovery wait time below 60 seconds (new minimum is 1 second). (mturk)
-      </update>
-    </changelog>
-  </subsection>
-</section>
-<section name="Changes between 1.2.16 and JK 1.2.17">
-  <br />
-  <subsection name="Native">
-    <changelog>
-      <fix>
-      Fix hanging jk status worker when certain attributes are being updated
-      due to double locking. (rjung)
-      </fix>
-      <update>
-      Allow JkMount to behave like uriworkermap.properties
-      by parsing pipe symbol as two directive marker. (mturk)
-      </update>
-    </changelog>
-  </subsection>
-</section>
-<section name="Changes between 1.2.15 and JK 1.2.16">
-  <br />
-  <subsection name="Native">
-    <changelog>
-      <update>
-      Added simple rewrite capability for IIS. Although simple it
-      will fulfill most needs. (mturk)
-      </update>
-      <update>
-      Added RECOVER_ABORT_IF_CLIENTERROR recovery_option that closes
-      the connection if client connection is broken during the request. (mturk)
-      </update>
-      <update>
-      Renamed cache_timeout directive to connection_pool_timeout. (mturk)
-      </update>
-      <update>
-      Added connection_pool_minsize directive. (mturk)
-      </update>
-      <update>
-      Deprecate recycle_timeout directive. (mturk)
-      </update>
-      <update>
-      Corrected some HTML syntax bugs in output of status worker. (rjung)
-      </update>
-      <update>
-      Added the refresh=n parameter to the status worker. It will update the display every n seconds. (rjung)
-      </update>
-      <update>
-      Balancer: Add attribute distance to balanced workers to express preferences between workers. (rjung)
-      </update>
-      <update>
-      Balancer: Add attribute jvm_route to balanced workers to be able to use the same target in different balancers. (rjung)
-      </update>
-      <update>
-      Status: Add lb_mult to status. (rjung)
-      </update>
-      <update>
-      Balancer: Make different balancing strategies work in a similar way (use lb_value, use decay during global maintenance, use integer factors for weights. (rjung)
-      </update>
-      <update>
-      Balancer: Improve locking. (rjung)
-      </update>
-      <update>
-      Balancer: Workers start slower after recovering. (rjung)
-      </update>
-      <update>
-      Balancer: Make different balancing strategies work in a similar way (use lb_value, use decay during global maintenance, use integer factors lb_mult for weights). (rjung)
-      </update>
-      <update>
-      Balancer: Move recovery check to global maintenance. (rjung)
-      </update>
-      <update>
-      Balancer: Add global maintenance method, that is called in only one process. (rjung)
-      </update>
-      <update>
-      Extend our use of autoconf to find a 32Bit and a 64Bit unsigned type and their printf formats. (rjung)
-      </update>
-      <update>
-      Logging: piped loggers for JkLogFile and Apache 1.3. (rjung)
-      </update>
-      <update>
-      Logging: Add PID to log lines for each log level apart from REQUEST. (rjung)
-      </update>
-      <update>
-      Logging: flush buffered logs to keep lines in correct order. Output final newline together with log message. (rjung)
-      </update>
-      <update>
-      Reducing shm size. (rjung)
-      </update>
-      <update>
-      Only log removing of old worker, when we actually do it. (rjung)
-      </update>
-      <fix>
-      <bug>37469</bug>: Fix shared memory close for forked childs.
-      The shared memory will be closed by the parent process. (mturk)
-      </fix>
-      <fix>
-      <bug>37332</bug>: Fix potential misuse of buffer length with
-      snprintf functions. (mturk)
-      </fix>
-      <fix>
-      <bug>38859</bug>: Protect mod_jk against buggy or malicious
-      AJP servers in the backend. Patch provided by Ruediger Pluem. (mturk)
-      </fix>
-      <fix>
-      <bug>38889</bug>: Use worker map sorting depending on the path
-      elements, to comply with Servlet spec. Patch provided by
-      Steve Revilak. (mturk)
-      </fix>
-      <update>
-      <bug>36138</bug>: Added Busyness lb method. Patch provided
-      by  Chris Lamprecht. (mturk)
-      </update>
-      <fix>
-      Fix pessimistic locking mode. The patch correctly handles the
-      burst load, by syncing the access to the shared memory data. (mturk)
-      </fix>
-      <fix>
-      <bug>38806</bug>: Reclycle worker even if it is disabled.
-      This fixes hot-standby workers in error state. (mturk)
-      </fix>
-      <fix>
-      <bug>37167</bug>: Allow building with BSD-ish like make. (mturk)
-      </fix>
-      <fix>
-      ISAPI plugin (isapi_redirect.dll) did not provide correct request data
-      for IIS
- to include in the IIS log. (markt)
-      </fix>
-    </changelog>
-  </subsection>
-</section>
-<section name="Changes between 1.2.14 and 1.2.15">
-  <br />
-  <subsection name="Native">
-    <changelog>
-      <fix>
-      Fix AJP13 Cookie2 parsing. Cookie2 was always send as Cookie.
-      Patch provided by Andre Gebers. (mturk)
-      </fix>
-      <fix>
-      <bug>35862</bug>: NSAPI plugin attempts to read freed memory and attempts to
-      dereference a null pointer. Patch provided by Brian Kavanagh. (markt)
-      </fix>
-    </changelog>
-  </subsection>
-</section>
-<section name="Changes between 1.2.13 and 1.2.14">
-  <br />
-  <subsection name="Native">
-    <changelog>
-      <fix>
-        Fix lb for worker mpm's with cachesize set to lower number then
-        ThreadsPerChild is. If retries is set to value larger then 3 sleep for
-        100 ms on each attempt. This enables to tune the connection cache,
-        and serialize incoming connections instead returning busy if connection
-        count is larger then cachesize. (mturk)
-      </fix>
-      <fix>
-      <bug>36525</bug>: Solaris core dump. (mturk)
-      </fix>
-      <fix>
-      <bug>36102</bug>: Worker actions do not persist. (mturk)
-      </fix>
-      <fix>
-      <bug>35864</bug>: Status worker doesn't list workers.
-      Patch provided by Martin Goldhahn. (mturk)
-      </fix>
-      <fix>
-      <bug>35809</bug>: JkMountCopy don't work for Apache 2.0 Patch provided by
-       Christophe Dubach. (mturk)
-      </fix>
-      <fix>
-      <bug>35298</bug>: Multiple JK/ISAPI redirectors on a single IIS site are not supported
-       Patch provided by Tim Whittington. (mturk)
-      </fix>
-    </changelog>
-  </subsection>
-</section>
-<section name="Changes between 1.2.12 and 1.2.13">
-  <br />
-  <subsection name="Native">
-    <changelog>
-      <fix>
-      <bug>34397</bug>: Emergency was handled as Error. (jfclere)
-      </fix>
-      <fix>
-      <bug>34474</bug>: // in URL were not handled correctly with Apache-1.3. (jfclere)
-      </fix>
-      <fix>
-      Use 64 bits int for transferred/read bytes.
-      </fix>
-      <update>
-      Added JkOptions +FlushPackets used to optimize memory
-      usage when sending large data. (mturk)
-      </update>
-      <update>
-      Added lock directive for load balancer that allows more acurate
-      load balancing in case of burst load. (mturk)
-      </update>
-      <update>
-      Added worker.maintain directive to allow customizing default 10
-      second timeout. On busy servers this value needs to be set on
-      higher value. (mturk)
-      </update>
-      <fix>
-      Fix for NetWare compiler to deal with different types between AP13
-      and AP2 SDKs. (fuankg)
-      </fix>
-      <update>
-      Emit much more legible user.dmp crash analysis output for WIN32. (wrowe)
-      </update>
-     <fix>
-     <bug>34558</bug>: Fix first failover request. (mturk)
-     </fix>
-    </changelog>
-  </subsection>
-</section>
-
-<section name="Changes between 1.2.11 and 1.2.12">
-  <br />
-  <subsection name="Native">
-    <changelog>
-      <update>
-      Added ForwardLocallAddres JkOptions flag for passing local instead remote
-      address. Useful for remote addr valve. (mturk)
-      </update>
-     <fix>Fix that worker not used, when stopped flag is true. (pero)
-     </fix>
-      <update>
-      Add loadbalance default worker secret attribute to the documentation (pero)
-      </update>
-    </changelog>
-  </subsection>
-</section>
-
-<section name="Changes between 1.2.10 and 1.2.11">
-  <br />
-  <subsection name="Native">
-    <changelog>
-      <fix>Backport SC_M_JK_STORED from JK2 for passing arbitrary
-      methods instead failing the request. (mturk)
-      </fix>
-      <fix>Added missing SEARCH and ACL http methods. (mturk)
-      </fix>
-      <update>
-      Add worker secret attribute to the documentation (pero)
-      </update>
-      <update>
-      Add a stopped flag to worker configuration. Set flag True and
-      complete traffic to worker is stopped.
-      Also update the Ant JkStatusUpdateTask at Tomcat 5.5.10 release.
-      Only usefull in a replicated session cluster.(pero)
-      </update>
-      <update>Added worker maintain function that will maintain all
-      the workers instead just the current one. This enables to recycle
-      the connections on all workers. (mturk)
-      </update>
-      <update>Use shutdown when recycling connections instead hard
-      breaking the socket. (mturk)
-      </update>
-      <update>Add unique directives checking. The directives if
-      unique are now overwritten instead concatenated. (mturk)
-      </update>
-      <update>Allow multiple worker.list directives. (mturk)
-      </update>
-      <fix>
-      <bug>34577</bug>: For IIS log original request instead loging
-      the request for ISAPI extension. (mturk)
-      </fix>
-      <fix>
-      <bug>34558</bug>: Make sure the returned status codes are the same
-      for ajp and lb workers. (mturk)
-      </fix>
-      <fix>
-      <bug>34423</bug>: Use APR_USE_FLOCK_SERIALIZE for setting log lock
-      on platforms like FreeBSD. Patch provided by Allan Saddi. (mturk)
-      </fix>
-      <fix>
-      <bug>33843</bug>: Fix obtaining LDFLAGS that were used for building
-      Apache HTTPD. Patch provided by Beat Kneubuehl. (mturk)
-      </fix>
-      <fix>
-      <bug>34358</bug>: Enable load balancer method configuration. (glenn)
-      </fix>
-      <fix>
-      <bug>34357</bug>: In some situations Apache 2 mod_jk could segfault
-      when the JkAutoAlias directive is used. (glenn)
-      </fix>
-      <update>
-        Add --enable-prefork to the documentation (pero)
-      </update>
-    </changelog>
-  </subsection>
-</section>
-<section name="Changes between 1.2.9 and 1.2.10">
-  <br />
-  <subsection name="Native">
-    <changelog>
-      <update>Set default shared memory to 64K instead 1M. (mturk)
-      </update>
-      <fix>Do not mark the worker in error state if headers are
-      larger then AJP13 limit. (mturk)
-      </fix>
-      <update>
-      On Series you should use the latest PTF for Apache 2.0
-      (which is now 2.0.52) and ad minima SI17402/SI17061 or cumulative
-      including them. (hgomez)
-      </update>
-      <update>
-      Change the xml status format to xml attribute syntax (pero)
-      </update>
-      <fix>
-      <bug>33248</bug>: Fix builds where apxs defines multiple
-      directories for APR includes. (mturk)
-      </fix>
-      <fix>
-      <bug>32696</bug>: Return 404 instead 403 when WEB-INF is requested
-      to comply with Servlet spec. (mturk)
-      </fix>
-      <update>Added ANT task for managing jkstatus. (pero)
-      </update>
-      <update>
-      If socket_timeout is set, check if socket is alive before
-      sending any request to Tomcat. (mturk)
-      </update>
-      <update>
-      Added JkMountFile for Apache web servers. This file can contain
-      uri mappings in the form (/url=worker), and is checked for
-      updates at regular 60 second interval. (mturk)
-      </update>
-      <update>
-      Added status worker for managing worker runtime data using
-      web page. (mturk)
-      </update>
-      <update>
-      Added load balancer method directive that is used for setting
-      the algorithm used for balancing workers. Method can be either
-      Request (default) or Traffic. (mturk)
-      </update>
-      <update>
-      Added shared memory to allow dynamic configuration. Shared memory
-      is needed only for unix platform and web servers having multiple
-      child processes. For Apache web server two new directives has been
-      added (JkShmFile and JkShmSize). (mturk)
-      </update>
-      <update>
-      Added textupdate mode to status worker to handle remote updates
-      from ant tasks.(pero)
-      </update>
-      <fix>
-      <bug>33562</bug>: Fix Reply_timeout when recovery_options
-      is larger than 1. Patch provided by Takashi Satou. (mturk)
-      </fix>
-      <fix>
-      <bug>33308</bug>: Fix segfaults when ForwardDirectories is enabled
-        with Apache 1.3
-      </fix>
-    </changelog>
-  </subsection>
-</section>
-<section name="Changes between 1.2.7 and 1.2.8">
-  <br />
-  <subsection name="Native">
-    <changelog>
-      <update>
-      Allow anyone to debug and diagnose stack dumps using windbg or any
-      other debugging tool, and (if they add the .pdb files to their
-      installation) to make sense of dr watson logs.
-      Patch provided by William A. Rowe (wrowe)
-      </update>
-      <fix>
-      Fix in_addr_t usage by using the real struct ignoring typedef.
-      Patch provided by William A. Rowe (wrowe)
-      </fix>
-      <fix>
-      Fix url rewriting by restoring the in place uri from which the
-      jsessionid was removed. (mturk)
-      </fix>
-      <update>
-      Make load balancer algorithm thread safe by introducing mutex
-      to the load balancer worker. (mturk)
-      </update>
-      <fix>
-      Fix sending error pages for IIS to client by adding Content-Type header
-      using correct api function call. (mturk)
-      </fix>
-      <fix>
-      <bug>32696</bug>: Prevent IIS from crushing when web-inf url was requested. (mturk)
-      </fix>
-      <update>
-      Use default cachesize for servers that support discovering the number of
-      threads per child process. (mturk).
-      </update>
-      <fix>
-      Fix Apache content-length header parsing using case insensitive compare. (billbarker)
-      </fix>
-      <fix>
-      Fix parsing AJP headers using case insensitive compare. (mturk)
-      </fix>
-      <fix>
-      Use infinite socket timeout if socket_timeout is set to zero or less then zero. (mturk)
-      </fix>
-      <update>
-      Change <b>balanced_workers</b> to <b>balance_workers</b> but keep
-      backward compatibility preserving the old directive. (mturk).
-      </update>
-      <fix>
-      Fix ajp initialization for workers with cache_size set to zero. (mturk)
-      </fix>
-      <update>
-      <bug>32317</bug>: Making mod_jk replication aware (Clustering Support).
-      Patch provided by Rainer Jung. (mturk).
-      </update>
-      <fix>
-      <bug>31132</bug>: Core dump when JkLogFile is missing from conf. (mturk)
-      </fix>
-    </changelog>
-  </subsection>
-</section>
-<section name="Changes between 1.2.6 and 1.2.7">
-  <br />
-  <subsection name="Native">
-    <changelog>
-      <update>
-      Added new property named recover_time that can be used to change the
-      default 60 second recover time. (mturk)
-      </update>
-      <update>
-      Added custom retries for worker, so we don't depend on default setting.
-      If set to a number grater then 3, it will sleep for 100ms on retry greater
-      then 3 and then try again. (mturk)
-      </update>
-      <update>
-      Added JkWorkerProperty directive that enables omiting workers.properties file.
-      For example: JkWorkerProperty worker.ajp13a.port=8009. (mturk)
-      </update>
-      <fix>
-      Check all JSESSIONID cookies for a valid jvmRoute. If you have multiple Tomcats
-      with overlapping domains, then you can get multiple cookies without a defined order.
-      This will route correctly as long as the different domains don't have any
-      Tomcats in common. (billbarker)
-      </fix>
-      <update>
-      Added JkUnMount directive for negative mappings that works as opposite to JkMount directives.
-      It is used for blocking of particular URL or content type. (mturk)
-      </update>
-      <update>
-      Added wildchar match uri mappings. One can now use JkMount to
-      map /app/*/servlet/* or /app?/*/*.jsp. (mturk)
-      </update>
-      <update>
-      Rewrite the logging by adding Trace options. (mturk)
-      </update>
-      <update>
-      Added socket_timeout property that sets the timeout
-      for the socket itself. (mturk)
-      </update>
-      <fix>
-      Changed socket_timeout property to recycle_timeout. This better
-      explains what the directive actually does. (mturk)
-      </fix>
-      <fix>
-        Changed the load balancer algorithm.
-        The idea behind this new scheduler is the following:
-        lbfactor is <i>how much we expect this worker to work</i>,
-        or <i>the worker's work quota</i>.
-        lbstatus is <i>how urgent this worker has to work to fulfill its quota
-        of work</i>. We distribute each worker's work quota to the worker, and then look
-        which of them needs to work most urgently (biggest lbstatus).  This
-        worker is then selected for work, and its lbstatus reduced by the
-        total work quota we distributed to all workers.  Thus the sum of all
-        lbstatus does not change.(*)
-        If some workers are disabled, the others will
-        still be scheduled correctly. (mturk)
-      </fix>
-    </changelog>
-  </subsection>
-</section>
-<section name="JK 2">
-<p>JK2 has been put in maintainer mode and no further development will take place.
-The reason for shutting down JK2 development was the lack of developers interest.
-Other reason was lack of users interest in adopting JK2, caused by configuration
-complexity when compared to JK.
-</p>
-</section>
-
-</body>
-</document>

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/empty.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/empty.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/empty.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -5,12 +5,13 @@
 <document url="empty.html">
   &project;
 <copyright>
-   Copyright 1999-2006 The Apache Software Foundation
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
  
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
- 
        http://www.apache.org/licenses/LICENSE-2.0
  
    Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
 <title>Empty template</title>
 <author email="developer at apache.org">Developer Name</author>
 
-<date>$Date: 2006-05-31 04:10:09 -0500 (Wed, 31 May 2006) $</date>
+<date>$Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $</date>
 </properties>
 <body>
 

Deleted: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/faq.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/faq.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/faq.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,338 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
-  <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="faq.html">
-
-  &project;
-<copyright>
-   Copyright 1999-2004 The Apache Software Foundation
- 
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
- 
-       http://www.apache.org/licenses/LICENSE-2.0
- 
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-</copyright>
-<properties>
-<title>FAQ</title>
-<author email="hgomez at apache.org">Henri Gomez</author>
-<date>$Date: 2006-06-28 18:56:49 -0500 (Wed, 28 Jun 2006) $</date>
-</properties>
-<body>
-<section name="General">
-<p>
-General Informations and FAQ about JK
-</p>
-<subsection name="Where can I get help/support for JK ?">
-<p>
-The primary mechanism for support is through the JK 
-documentation included in the doc directory.
-Documentation is also available on the Apache Tomcat web site devoted to the
-<a href="http://tomcat.apache.org/connectors-doc/">
-Apache Tomcat Connectors Project</a>
-For additional help, the best resource is the Tomcat Users Discussion list.  
-You should start by searching
-<a href="http://mail-archives.apache.org/mod_mbox/tomcat-users/">
-the mail list archive</a>
-before you post questions to the list.  
-If you are unable to locate the answer to your question in the archive, 
-you can post questions about JK to the user list for assistance.  
-Make sure that you include the version of your Webserver, 
-that you are using as well as the platform you are running on
-and go 
-<a href="http://tomcat.apache.org/lists.html">
-here</a>
-to determine how to subscribe to tomcat mailing list.
-</p>
-</subsection>
-
-<subsection name="I can't find JK anywhere. Where is it?">
-<p>
-Now that JK moved to the <b>tomcat-connectors</b> repository, 
-the source and the binaries for JK can be downloaded from a mirror at the
-<a href="http://tomcat.apache.org/download-connectors.cgi">
-Tomcat Connectors (mod_jk, mod_jk2) Downloads</a> page.
-</p>
-</subsection>
-
-<subsection name="What's the difference between JK and mod_jk ?">
-<br />
-<p>
-<b>JK</b> is a project covering web-servers to Tomcat connectors,
-whereas <b>mod_jk</b> is the <a href="howto/apache.html">Apache module</a> developed in JK.
-</p>
-
-<p>
-<a href="howto/domino.html">Domino webserver</a> support is implemented on JK, using a redirector
-called <b>dsapi redirector</b>.
-</p>
-
-<p>
-<a href="howto/iis.html">IIS webserver</a>support is implemented on JK, using a redirector
-called <b>isapi redirector</b>.
-</p>
-
-<p>
-<a href="howto/nes.html">Netscape/iPlanet webserver</a>webserver support is implemented on JK, using a redirector
-called <b>nsapi redirector</b>.
-</p>
-
-</subsection>
-
-<subsection name="Where can I get more information ?">
-<p>
-For <b>JK 1.2.x</b>, you should read :
-</p>
-
-<ul>
-
-<li>
-<a href="howto/quick.html">For the impatients</a>
-</li>
-
-<li>
-<a href="howto/apache.html">Apache and JK</a>
-</li>
-
-<li>
-<a href="howto/domino.html">Domino and JK</a>
-</li>
-
-<li>
-<a href="howto/iis.html">IIS and JK</a>
-</li>
-
-<li>
-<a href="howto/nes.html">Netscape/iPlanet and JK</a>
-</li>
-
-<li>
-<a href="howto/workers.html">Workers configuration</a>
-</li>
-</ul>
-
-<p> 
-You could also try searching the mailing list archives for "JK" or look at the source.
-</p>
-</subsection>
-
-<subsection name="Which protocol should I use? Ajp12 or Ajp13?">
-<p>
-<a href="common/ajpv13a.html">Ajp13</a> is a newer protocol, it's faster, and it works better with SSL. 
-You almost certainly want to use it now that <strong>ajp12 is deprecated</strong>.
-</p>
-<p> 
-Also ajp13 is supported by all Apache Tomcat including 3.2.x , 3.3.x, 4.0.x, 4.1.x and the new tomcat 5. 
-</p>
-
-<p>
-Others Servlet engines like <b>jetty</b> have support for Ajp13.
-</p>
-</subsection>
-
-<subsection name="I've got a firewall between my WebServer and Tomcat who drop ajp13 connections after some times">
-<p>
-Ajp13 use persistant connections where the traffic could be null if there is no request to be sent to Tomcat. 
-Firewall used to drop inactive connections and will make your WebServer and Tomcat think the connection is valid. 
-</p>
-<p>
-Starting with JK 1.2.0, a <b>socket_keepalive</b> property as been added to ajp13 settings, and you should take a look at 
-it in <a href="howto/workers.html">Workers HowTo</a>.
-</p>
-</subsection>
-
-<subsection name="Under heavy load, I've got many threads in Tomcat even if my Apache Web Server handle much of the load">
-<p>
-Under heavy load, Apache WebServer create many childs to handle the load, which will in turn create many connections 
-to Tomcat to forward the requests they should handle. 
-Apache WebServer will normally kill the childs/threads when the load decrease. But if the load is still there and 
-even if only Apache handle the requests, ie static contents, the childs are kept and with them the ajp13 connections, 
-even if they are no more used. 
-</p>
-<p>
-Since JK 1.2.0, <b>cache_timeout</b> and <b>recycle_timeout</b> properties as been added to close 
-connections after some time of inactivity, for more informations refer to <a href="howto/workers.html">Workers HowTo</a>.
-</p>
-</subsection>
-
-</section>
-
-<section name="Apache">
-<p>
-Informations and FAQ about mod_jk and Apache Web Servers. 
-</p>
-<subsection name="Whenever I restart Tomcat, Apache locks up!">
-<p>
-The Ajp13 protocol keeps an open socket between Tomcat and Apache. Release of mod_jk present in J-T-C handle the network failure. 
-But with previous release of mod_jk, you may have to restart Apache as well.
-</p>
-</subsection>
-
-<subsection name="Why did exist two files mod_jk.so (-eapi ad -noeapi) in download dir for Linux ?">
-<p>
-Many versions of Apache use of modified API, known at Extended API, developed for use with the
-<a href="http://www.modssl.org">mod_ssl module</a>.
-</p>
-
-<p>
-For example, Apache present in certains recent Linux distributions include the
-<b>mod_ssl</b> module.
-</p>
-
-<p>
-So if you got such 'Extended Apache', you need to use <b>mod_jk.so-eapi</b>.
-</p>
-
-<p> 
-You should use <b>mod_jk.so-noeapi</b> only for 'Standard Apache' (ie without mod_ssl).
-</p>
-
-<p>
-It's wise to avoid using EAPI modules on STD API Apache or to use standard API modules on EAPI Apache. 
-Allways be sure to have the <b>mod_jk.so</b> witch match your version of Apache
-</p>
-</subsection>
-
-<subsection name="What's that message about 'garbled DSO ?'">
-<p>
-It's related to Apache EAPI, the message <code>'mod_jk.so is garbled - perhaps this is not an Apache module DSO ?'</code> 
-just told you, that your're trying to install a mod_jk.so DSO module that was compiled on an Apache using EAPI, 
-like apache-mod_ssl or apache from Redhat distro 6.2/7.0 but your system use the standard apache with normal API.
-</p>
-</subsection>
-
-<subsection name="And the message about 'module might crash under EAPI!">
-<p>
-Also related to EAPI, the message <code>'[warn] Loaded DSO /usr/lib/apache/mod_jk.so uses plain Apache 1.3 API, 
-this module might crash under EAPI! (please recompile it with -DEAPI)'</code>, the mod_jk.so was compiled under normal 
-Apache with standard API and you try to install the module on an Apache using EAPI.
-</p>
-</subsection>
-
-<subsection name="APXS is getting an error during the build of mod_jk, like rc=0 or rc=255.  I tried all of the steps in the build section, what do I do now ?">
-<p>
-APXS is a Perl script that is created when you build the Apache web server from source.  
-Chances are that if you are getting these errors and you obtained Apache as a binary distribution, 
-that APXS is not configured correctly for your system.  
-Your best bet is to get the Apache source from http://httpd.apache.org and build it yourself.  
-Use the following for a basic build (read the Apache docs for other options):
-<screen>
-<type>cd /usr/local/src</type><br/>
-<type>gzip -dc apache_1.3.19.tar.gz|tar xvf -</type><br/>
-<type>cd apache_1.3.19</type><br/>
-<type>./configure --prefix=/usr/local/apache \</type><br/>
-<type>            --enable-module=most \</type><br/>
-<type>            --enable-shared=max</type><br/>
-<type>make</type><br/>
-<type>make install</type><br/>
-</screen>
-</p>
-<p>
-Note: The above steps assume that you downloaded the Apache source and placed it in your /usr/local/src directory.
-</p>
-</subsection>
-
-<subsection name="Apache 2.0 complains about incorrect module version">
-<p>
-Since Apache 2.0 API still change often, the Apache 2.0 teams decide to put in headers of compiled modules the 
-Apache 2.0 version used to compile the module. This check is called Magic Module Number bump.
-</p>
-<p>
-At start time Apache 2.0 check that version in modules headers and stop if it detect that a module was compiled 
-for another Apache 2.0 version. As such you should allways use modules compiled for the same Apache 2.0 version. 
-This check may be removed if the future.
-</p>
-</subsection>
-
-<subsection name="JNI didn't works with Apache 1.3">
-<p>
-JNI support require a multi-threaded environment which is not the general case for Apache 1.3. 
-You should verify if Apache 1.3 has been build with thread support and if not you could add the 
-the pthreads library to your <b>httpd.conf</b> file. 
-</p>
-
-<source>
-  # Add pthread to Apache in httpd.conf
-  LoadModule "/usr/lib/libpthreads.so"
-</source>
-
-<p>
-Also keep in mind that JNI is suited for multi-threaded servers and you should consider upgrading 
-to Apache 2.0 to support JNI.
-</p>
-</subsection>
-
-<subsection name="JNI report that JVM couldn't be started under Linux">
-<p>
-Under Linux, you should set some environment variables BEFORE launching your Apache server :
-</p>
-
-<screen>
-<read>export LD_LIBRARY_PATH=$jre/bin:$jre/bin/classic:$LD_LIBRARY_PATH</read>
-</screen>
-
-<p>
-Also some Linux distributions have enabled a GLIBC feature called 'floating stacks' which may not works with kernel 
-less than 2.4.10 on SMP machines. You should disable floating stacks by exporting an environment variable :
-</p>
-
-<screen>
-<read>export LD_ASSUME_KERNEL=2.2.5</read>
-</screen>
-
-<p>
-You could have to update your service scripts, ie <b>/etc/rc.d/init.d/httpd</b>, to set these env vars 
-before your httpd server starts.
-</p>
-</subsection>
-
-<subsection name="Mixed errors when building via configure">
-<p>
-configure assume you have some GNU tools allready installed and configured for your system, and ad minima <b>libtool</b>.
-</p>
-<p>
-Also some systems may have mixed cc and gcc setup which may make you puzzled when trying to link an Apache built with native
-c compiler with a jk/jk2 build with gcc.
-</p>
-<p>
-In fine some native make didn't works as expect so you should use a GNU make <b>gmake</b>.
-</p>
-</subsection>
-
-<subsection name="JK2 build report error about missing FIONBIO on Solaris 8">
-<p>
-In JK2 before v2.0.2, you should add <source>#define BSD_COMP</source> in top
-of jk/native2/common/jk_channel_socket.c to have Solaris build succeed.
-</p>
-</subsection>
-
-
-</section>
-
-<section name="IIS">
-<p>
-Informations and FAQ about JK and IIS Web Servers. 
-</p>
-<todo>
-More informations to be added.
-</todo>
-</section>
-
-<section name="NES/iPlanet">
-<p>
-Informations and FAQ about JK and NES/iPlanet Web Servers. 
-</p>
-<todo>
-More informations to be added.
-</todo>
-</section>
-
-</body>
-</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/loadbalancers.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/loadbalancers.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/loadbalancers.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="loadbalancers.html">
+
+  &project;
+<copyright>
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+</copyright>
+<properties>
+<title>LoadBalancer HowTo</title>
+<author email="mturk at apache.org">Mladen Tur</author>
+<date>$Date: 2006-12-06 07:20:35 -0700 (Wed, 06 Dec 2006) $</date>
+</properties>
+<body>
+<section name="Introduction"> 
+<br/>
+<p>A Load balancer is a virtual worker that does not really communicate with Tomcat workers.
+Instead it is responsible for the management of several "real" workers.
+The worker is supposed to be a load balancer if its worker type is <b>lb</b>.
+See workers <b>type</b> directive. For a complete reference of all load balancer configuration
+items, please consult the worker <a href="../reference/workers.html">reference</a>.
+The comprehensive status management features of the load balancer together with the status worker,
+makes its use an interesting option, even if only combined with a single "real" worker.
+<warn>The workers that are member of load balancer do not need to appear in the
+<b>worker.list</b> directive.</warn>
+</p>
+
+<subsection name="lb Worker properties">
+<p>
+The load-balancing worker does not really communicate with Tomcat workers.
+Instead it is responsible for the management of several "real" workers. 
+This management includes:
+</p>
+
+<ul>
+<li>
+Instantiating the workers in the web server.
+</li>
+<li>
+Using the worker's load-balancing factor, perform weighed-round-robin load balancing where 
+high lbfactor means stronger machine (that is going to handle more requests)
+</li>
+<li>
+Keeping requests belonging to the same session executing on the same Tomcat worker.
+</li>
+<li>
+Identifying failed Tomcat workers, suspending requests to them and instead falling-back on 
+other workers managed by the lb worker.
+</li>
+</ul>
+
+<p>
+The overall result is that workers managed by the same lb worker are load-balanced (based on their lbfactor and current user session) and also fall-backed so a single Tomcat process death will not "kill" the entire site.
+The following table specifies some properties that the lb worker can accept:
+<ul>
+<li><b>balance_workers</b> is a comma separated list of workers that the load balancer need to manage. 
+These workers do not need to appear in the worker.list property. This directive can be used multiple times for the same load balancer.</li>
+<li><b>sticky_session</b> specifies whether requests with SESSION ID's should be routed back to the same
+Tomcat worker. You can set sticky_session to False when Tomcat is using a Session Manager which
+can persist session data across multiple instances of Tomcat. By default sticky_session is set to True.</li>
+</ul>
+</p>
+
+<source>
+  # The worker balance1 while use "real" workers worker1 and worker2
+  worker.balance1.balance_workers=worker1, worker2
+</source>
+
+</subsection>
+
+<subsection name="Advanced lb Worker properties">
+<p>
+With JK 1.2.x, new load-balancing and fault-tolerant support has been added via
+2 new properties, <b>redirect</b> and <b>activation</b>.
+</p>
+
+<p>
+Let's take an example environment:
+</p>
+
+<p>
+A cluster with two nodes (worker1+worker2), running a webserver + tomcat tandem on each node and 
+a loadbalancer in front of the nodes.
+</p>
+
+<source>
+  # The advanced router LB worker
+  worker.list=router
+
+  # Define a worker using ajp13
+  worker.worker1.port=8009
+  worker.worker1.host=node1.domain.org
+  worker.worker1.type=ajp13
+  worker.worker1.lbfactor=1
+  # Define prefered failover node for worker1
+  worker.worker1.redirect=worker2
+
+  # Define another worker using ajp13
+  worker.worker2.port=8009
+  worker.worker2.host=node2.domain.org
+  worker.worker2.type=ajp13
+  worker.worker2.lbfactor=1
+  # Disable worker2 for all requests except failover
+  worker.worker2.activation=disabled
+  
+  # Define the LB worker
+  worker.router.type=lb
+  worker.router.balance_workers=worker1,worker2
+</source>
+
+<p>
+The <b>redirect</b> flag on worker1 tells the <b>lb_worker</b> to redirect the requests
+to worker2 only if worker1 is in error state. In other cases worker2 will not receive
+any requests, thus acting like a hot standby.
+</p>
+
+
+</subsection>
+
+<subsection name="Status Worker properties">
+<p>
+The status worker does not communicate with Tomcat.
+Instead it is responsible for the load balancer management. 
+</p>
+<source>
+  # Add the status worker to the worker list
+  worker.list=jkstatus
+  # Define a 'jkstatus' worker using status
+  worker.jkstatus.type=status
+</source>
+<p>Next thing is to mount the requests to the jkstatus worker. For Apache
+web servers use the:</p>
+<source>
+  # Add the jkstatus mount point
+  JkMount /jkmanager/* jkstatus 
+</source>
+<p>To obtain a higher level of security use the:</p>
+<source>
+  # Enable the JK manager access from localhost only
+ &lt;Location /jkmanager/&gt;
+    JkMount jkstatus
+    Order deny,allow
+    Deny from all
+    Allow from 127.0.0.1
+ &lt;/Location&gt;
+</source>
+
+</subsection>
+
+</section>
+
+</body>
+</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/project.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/project.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/project.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="Apache Tomcat Connector Documentation - Generic HowTo"
+        href="http://tomcat.apache.org/">
+
+    <title>The Apache Tomcat Connector - Generic HowTo</title>
+
+    <logo href="/images/tomcat.gif">
+      The Apache Tomcat Connector - Generic HowTo
+    </logo>
+<body>
+
+    <menu name="Links">
+        <item name="Docs Home"                  href="../index.html"/>
+    </menu>
+
+    <menu name="Reference Guide">
+        <item name="workers.properties"         href="../reference/workers.html"/>
+        <item name="uriworkermap.properties"    href="../reference/uriworkermap.html"/>
+        <item name="Status Worker"              href="../reference/status.html"/>
+        <item name="Apache"                     href="../reference/apache.html"/>
+        <item name="IIS"                        href="../reference/iis.html"/>
+    </menu>
+
+    <menu name="Generic HowTo">
+        <item name="For the impatient"          href="../generic_howto/quick.html"/>
+        <item name="All about workers"          href="../generic_howto/workers.html"/>
+        <item name="Load Balancing"             href="../generic_howto/loadbalancers.html"/>
+    </menu>
+
+    <menu name="Webserver HowTo">
+        <item name="Apache"                     href="../webserver_howto/apache.html"/>
+        <item name="IIS"                        href="../webserver_howto/iis.html"/>
+        <item name="Netscape/SunOne/Sun"        href="../webserver_howto/nes.html"/>
+    </menu>
+
+    <menu name="AJP Protocol Reference">
+        <item name="AJPv13"                     href="../ajp/ajpv13a.html"/>
+        <item name="AJPv13 Extension Proposal"  href="../ajp/ajpv13ext.html"/>
+    </menu>
+
+    <menu name="Miscellaneous Documentation">
+        <item name="Frequently asked questions" href="../miscellaneous/faq.html"/>
+        <item name="Changelog"                  href="../miscellaneous/changelog.html"/>
+        <item name="Current Native:JK bugs"     href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Tomcat+5&amp;component=Native%3AJK&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=&amp;emailassigned_to2=1&amp;emailreporter2=1&amp;emailcc2=1&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0="/>
+        <item name="Contribute documentation"   href="../miscellaneous/doccontrib.html"/>
+        <item name="JK Status Ant Tasks"        href="../miscellaneous/jkstatustasks.html"/>
+        <item name="Reporting Tools"            href="../miscellaneous/reporttools.html"/>
+        <item name="Old JK/JK2 documentation"   href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html"/>
+    </menu>
+
+    <menu name="News">
+        <item name="2006"                       href="../news/20060101.html"/>
+        <item name="2005"                       href="../news/20050101.html"/>
+        <item name="2004"                       href="../news/20041100.html"/>
+    </menu>
+
+</body>
+</project>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/quick.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/quick.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/quick.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="quick.html">
+
+  &project;
+<copyright>
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+</copyright>
+<properties>
+<title>Quick Start HowTo</title>
+<author email="hgomez at apache.org">Henri Gomez</author>
+<date>$Date: 2006-11-27 18:55:39 -0700 (Mon, 27 Nov 2006) $</date>
+</properties>
+<body>
+<section name="Introduction">
+<p>
+  This document describes the configuration files used by JK on the
+  Web Server side for the 'impatients':
+    <ul>
+    <li>
+    <b>workers.properties</b> is a mandatory file used by the webserver and which
+    is the same for all JK implementations (Apache/IIS/NES).
+    </li>
+    <li>
+    <b>web server</b> add-ons to be set on the webserver side. 
+    </li>
+    </ul>
+</p>
+<p>        
+  We'll give here minimum servers configuration and an example <b>workers.properties</b> 
+  to be able to install and check quickly your configuration.
+</p>
+</section>
+
+<section name="Minimum workers.properties">
+<p>
+    Here is a minimum <b>workers.properties</b>, using just ajp13 to connect your Apache webserver
+    to the Tomcat engine, complete documentation is available in <a href="workers.html">Workers HowTo</a>. 
+</p>
+<p>
+<source>
+
+  # Define 1 real worker using ajp13
+  worker.list=worker1
+  # Set properties for worker1 (ajp13)
+  worker.worker1.type=ajp13
+  worker.worker1.host=localhost
+  worker.worker1.port=8009
+
+</source>
+</p>
+</section>
+
+<section name="Minimum Apache web server configuration">
+<p>
+   Here is a minimun informations about Apache configuration, a 
+   complete documentation is available in <a href="apache.html">Apache HowTo</a>.
+</p>
+<p>
+	You should first have <b>mod_jk.so</b> (unix) or <b>mod_jk.dll</b> (Windows) installed
+	in your Apache module directory (see your Apache documentation to locate it).
+</p>
+<p>
+	Usual locations for modules directory on Unix:
+	<ul>
+	<li>/usr/lib/apache/</li>
+	<li>/usr/lib/apache2/</li>
+	<li>/usr/local/apache/libexec/</li>
+	</ul>
+</p>
+<p>
+	Usual locations for modules directory on Windows :
+	<ul>
+	<li>C:\Program Files\Apache Group\Apache\modules\</li>
+	<li>C:\Program Files\Apache Group\Apache2\modules\</li>
+	</ul>
+</p>
+<p>
+	You'll find a link to prebuilt binaries
+        <a href="http://tomcat.apache.org/download-connectors.cgi/">here</a>
+</p>
+<p>
+    Here is the minimum which should be set in <b>httpd.conf</b> directly or 
+    included from another file:
+</p>    
+<p>
+	Usual locations for configuration directory on Unix:
+	<ul>
+	<li>/etc/httpd/conf/</li>
+	<li>/etc/httpd2/conf/</li>
+	<li>/usr/local/apache/conf/</li>
+	</ul>
+</p>
+<p>
+	Usual locations for configuration directory on Windows :
+	<ul>
+	<li>C:\Program Files\Apache Group\Apache\conf\</li>
+	<li>C:\Program Files\Apache Group\Apache2\conf\</li>
+	</ul>
+</p>
+<p>
+<source>
+
+  # Load mod_jk module
+  # Update this path to match your modules location
+  LoadModule    jk_module  libexec/mod_jk.so
+  # Declare the module for &lt;IfModule directive&gt; (remove this line on Apache 2.x)
+  AddModule     mod_jk.c
+  # Where to find workers.properties
+  # Update this path to match your conf directory location (put workers.properties next to httpd.conf)
+  JkWorkersFile /etc/httpd/conf/workers.properties
+  # Where to put jk shared memory
+  # Update this path to match your local state directory or logs directory
+  JkShmFile     /var/log/httpd/mod_jk.shm
+  # Where to put jk logs
+  # Update this path to match your logs directory location (put mod_jk.log next to access_log)
+  JkLogFile     /var/log/httpd/mod_jk.log
+  # Set the jk log level [debug/error/info]
+  JkLogLevel    info
+  # Select the timestamp log format
+  JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
+  # Send everything for context /examples to worker named worker1 (ajp13)
+  JkMount  /examples/* worker1
+
+</source>
+</p>
+</section>
+
+<section name="Minimum IIS web server configuration">
+<p>
+	A complete documentation is available in <a href="iis.html">IIS HowTo</a>.
+</p>
+<todo>
+More informations to be added!
+</todo>
+</section>
+
+<section name="Minimum NES/iPlanet web server configuration">
+<p>
+	A complete documentation is available in <a href="nes.html">Netscape/iPlanet HowTo</a>.
+<todo>
+More informations to be added?
+</todo>
+</p>
+</section>
+
+
+<section name="Test your configuration">
+<p>
+	(Re)start the web server and browse to the <a href="http://localhost/examples/">http://localhost/examples/</a>
+</p>
+
+</section>
+</body>
+</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/workers.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/workers.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto/workers.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,463 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="workers.html">
+
+  &project;
+<copyright>
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+</copyright>
+<properties>
+<title>Workers HowTo</title>
+<author email="hgomez at apache.org">Henri Gomez</author>
+<author email="shachor at il.ibm.com">Gal Shachor</author>
+<author email="mturk at apache.org">Mladen Tur</author>
+<date>$Date: 2006-11-27 18:55:39 -0700 (Mon, 27 Nov 2006) $</date>
+</properties>
+<body>
+<section name="Introduction">
+<p>
+A Tomcat worker is a Tomcat instance that is waiting to execute servlets on behalf of some web server. 
+For example, we can have a web server such as Apache forwarding servlet requests to a 
+Tomcat process (the worker) running behind it.
+</p>
+<p>
+The scenario described above is a very simple one; 
+in fact one can configure multiple Tomcat workers to serve servlets on 
+behalf of a certain web server. 
+The reasons for such configuration can be:
+</p>
+<ul>
+<li>
+We want different contexts to be served by different Tomcat workers to provide a 
+development environment where all the developers share the same web server but own a Tomcat worker of their own.
+</li>
+<li>
+We want different virtual hosts served by different Tomcat processes to provide a 
+clear separation between sites belonging to different companies.
+</li>
+<li>
+We want to provide load balancing, meaning run multiple Tomcat workers each on a 
+machine of its own and distribute the requests between them.
+</li>
+</ul>
+
+<p>
+There are probably more reasons for having multiple workers but I guess that this list is enough...
+Tomcat workers are defined in a properties file dubbed workers.properties and this tutorial 
+explains how to work with it.
+</p>
+
+<p>
+This document was originally part of <b>Tomcat: A Minimalistic User's Guide</b> written by Gal Shachor, 
+but has been split off for organizational reasons. 
+</p>
+</section>
+
+<section name="Defining Workers">
+<p>
+Defining workers to the Tomcat web server plugin can be done using a properties file 
+(a sample file named workers.properties is available in the conf/ directory).
+</p>
+
+<p>
+the file contains entries of the following form:
+</p>
+
+<p>
+<b>worker.list</b>=&lt;a comma separated list of worker names&gt;
+</p>
+
+<source>
+  # the list of workers
+  worker.list= worker1, worker2
+</source>
+
+<p>
+When starting up, the web server plugin will instantiate the workers whose name appears in the 
+<b>worker.list</b> property, these are also the workers to whom you can map requests. The directive can be used multiple times.
+</p>
+
+<subsection name="Workers Type">
+<p>
+Each named worker should also have a few entries to provide additional information on his behalf.
+This information includes the worker's type and other related worker information. 
+Currently the following worker types that exists are (JK 1.2.5):
+</p>
+
+<table>
+  <tr><th>Type</th><th>Description</th></tr>
+  <tr><td>ajp12</td><td>This worker knows how to forward requests to out-of-process Tomcat workers using the ajpv12 protocol.</td></tr>
+  <tr><td>ajp13</td><td>This worker knows how to forward requests to out-of-process Tomcat workers using the ajpv13 protocol.</td></tr>
+  <tr><td>jni</td><td>This worker knows how to forward requests to in-process Tomcat workers using JNI.</td></tr>
+  <tr><td>lb</td><td>This is a load-balancing worker; it knows how to provide round-robin based sticky load balancing with a certain level of fault-tolerance.</td></tr>
+  <tr><td>status</td><td>This is a status worker for managing load balancers.</td></tr>
+</table>
+
+<p>
+Defining workers of a certain type should be done with the following property format:
+</p>
+
+<p>
+<b>worker</b>.<b>worker name</b>.<b>type</b>=&lt;worker type&gt;
+Where worker name is the name assigned to the worker and the worker type is one of the four types defined 
+in the table (a worker name may only contain any space the characters [a-zA-Z0-9\-_]).
+</p>
+
+<source>
+  # Defines a worker named "local" that uses the ajpv12 protocol to forward requests to a Tomcat process.
+  worker.local.type=ajp12
+  # Defines a worker named "remote" that uses the ajpv13 protocol to forward requests to a Tomcat process.
+  worker.remote.type=ajp13
+  # Defines a worker named "fast" that uses JNI to forward requests to a Tomcat process.
+  worker.fast.type=jni
+  # Defines a worker named "loadbalancer" that loadbalances several Tomcat processes transparently.
+  worker.loadbalancer.type=lb
+</source>
+
+</subsection>
+
+</section>
+
+<section name="Setting Worker Properties">
+<p>
+After defining the workers you can also specify properties for them. 
+Properties can be specified in the following manner:
+</p>
+
+<p>
+worker.&lt;worker name&gt;.&lt;property&gt;=&lt;property value&gt;
+</p>
+
+Each worker has a set of properties that you can set as specified in the following subsections:
+
+<subsection name="ajp12 Worker properties">
+<p><warn>
+The <b>ajp12</b> has been <b>deprecated</b> with Tomcat 3.3.x and you should use instead 
+<b>ajp13</b> which is the only ajp protocol known by Tomcat 4.x and 5 and 5.5 and Tomcat 6.
+</warn></p> 
+<p>
+The ajp12 typed workers forward requests to out-of-process Tomcat workers 
+using the ajpv12 protocol over TCP/IP sockets.
+</p>
+
+<p>
+the ajp12 worker properties are :
+</p>
+
+<p>
+<b>host</b> property sets the host where the Tomcat worker is listening for ajp12 requests.
+</p>
+
+<p>
+<b>port</b> property sets the port where the Tomcat worker is listening for ajp12 requests
+</p>
+
+<p>
+<b>lbfactor</b>property is used when working with a load balancer worker, this is the load-balancing factor for the worker.
+We'll see more on this in the <a href="../generic_howto/loadbalancers.html">lb worker</a> section.
+</p>
+
+<source>
+  # worker "worker1" will talk to Tomcat listening on machine www.x.com at port 8007 using 2 lb factor
+  worker.worker1.host=www.x.com
+  worker.worker1.port=8007
+  worker.worker1.lbfactor=2
+</source>
+
+<p>
+Notes: In the ajpv12 protocol, connections are created, used and then closed at each request.
+The default port for ajp12 is 8007
+</p>
+
+</subsection>
+
+<subsection name="ajp13 Worker properties">
+<p>
+The ajp13 typed workers forward requests to out-of-process Tomcat workers using the ajpv13 protocol over TCP/IP sockets.
+The main difference between ajpv12 and ajpv13 are that:
+<ul>
+<li>
+ajpv13 is a more binary protocol and it tries to compress some of the request data by coding 
+frequently used strings as small integers.
+</li>
+<li>
+ajpv13 reuses open sockets and leaves them open for future requests (remember when you've got a Firewall between your 
+web server and Tomcat).
+</li>
+<li>
+ajpv13 has special treatment for SSL information so that the container can implement 
+SSL related methods such as isSecure().
+</li>
+</ul>
+
+</p>
+
+<p>
+You should note that Ajp13 is now the only out-process protocol supported by Tomcat 4.0.x, 4.1.x, 5.0.x, 5.5.x and 6.
+</p>
+
+
+<source>
+  # worker "worker2" will talk to Tomcat listening on machine www2.x.com at port 8009 using 3 lb factor
+  worker.worker2.host=www2.x.com
+  worker.worker2.port=8009
+  worker.worker2.lbfactor=3
+  # worker "worker2" uses connections, which will stay no more than 10mn in the connection pool
+  worker.worker2.connection_pool_timeout=600
+  # worker "worker2" ask operating system to send KEEP-ALIVE signal on the connection
+  worker.worker2.socket_keepalive=1
+  # mount can be used as an alternative to the JkMount directive
+  worker.worker2.mount=/contexta /contexta/* /contextb /contextb/*
+</source>
+
+<p>
+Notes: In the ajpv13 protocol, the default port is 8009
+</p>
+
+</subsection>
+
+<subsection name="lb Worker properties">
+<p>
+The load-balancing worker does not really communicate with Tomcat workers.
+Instead it is responsible for the management of several "real" workers. 
+This management includes:
+</p>
+
+<ul>
+<li>
+Instantiating the workers in the web server.
+</li>
+<li>
+Using the worker's load-balancing factor, perform weighed-round-robin load balancing where 
+high lbfactor means stronger machine (that is going to handle more requests)
+</li>
+<li>
+Keeping requests belonging to the same session executing on the same Tomcat worker.
+</li>
+<li>
+Identifying failed Tomcat workers, suspending requests to them and instead falling-back on 
+other workers managed by the lb worker.
+</li>
+</ul>
+
+<p>
+The overall result is that workers managed by the same lb worker are load-balanced (based on their lbfactor and current user session) and also fall-backed so a single Tomcat process death will not "kill" the entire site.
+The following table specifies some properties that the lb worker can accept:
+<ul>
+<li><b>balance_workers</b> is a comma separated list of workers that the load balancer need to manage. 
+These workers should not appear in the worker.list property. This directive can be used multiple times for the same load balancer.</li>
+<li><b>sticky_session</b> specifies whether requests with SESSION ID's should be routed back to the same
+Tomcat worker. Set sticky_session to False when Tomcat is using a Session Manager which
+can persist session data across multiple instances of Tomcat. By default sticky_session is set to True.</li>
+</ul>
+</p>
+
+<source>
+  # The worker balance1 while use "real" workers worker1 and worker2
+  worker.balance1.balance_workers=worker1, worker2
+</source>
+
+</subsection>
+
+<subsection name="Status Worker properties">
+<p>
+The status worker does not communicate with Tomcat.
+Instead it is responsible for the load balancer management. 
+</p>
+<source>
+  # Add the status worker to the worker list
+  worker.list=jkstatus
+  # Define a 'jkstatus' worker using status
+  worker.jkstatus.type=status
+</source>
+<p>Next thing is to mount the requests to the jkstatus worker. For Apache
+web servers use the:</p>
+<source>
+  # Add the jkstatus mount point
+  JkMount /jkmanager/* jkstatus 
+</source>
+<p>To obtain a higher level of security use the:</p>
+<source>
+  # Enable the JK manager access from localhost only
+ &lt;Location /jkmanager/&gt;
+    JkMount jkstatus
+    Order deny,allow
+    Deny from all
+    Allow from 127.0.0.1
+ &lt;/Location&gt;
+</source>
+
+</subsection>
+
+<subsection name="Property file macros">
+<p>
+You can define "macros" in the property files. 
+These macros let you define properties and later on use them while 
+constructing other properties and it's very usefull when you want to
+change your Java Home, Tomcat Home or OS path separator
+</p>
+
+<source>
+  # property example, don't hardcode path separator
+  ps=\
+  workers.tomcat_home=d:\tomcat
+  workers.java_home=d:\sdk\jdk1.2.2
+  # Using macros we'll have : worker.inprocess.class_path=d:\tomcat\classes
+  worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes
+  # Using macros we'll have : worker.inprocess.class_path=d:\sdk\jdk1.2.2\lib\tools.jar
+  worker.inprocess.class_path=$(workers.java_home)$(ps)lib$(ps)tools.jar
+</source>
+
+</subsection>
+
+<subsection name="Hierarchical property configuration">
+<p>
+Workers can reference configurations of other workers.
+If worker "x" references worker "y", then it inherits all
+configuration parameters from "y", except for the ones
+that have explicitely been set for "x".
+</p>
+
+<source>
+  # worker toe defines some default settings
+  worker.toe.type=ajp13
+  worker.toe.socket_keepalive=true
+  worker.toe.connect_timeout=10000
+  worker.toe.recovery_options=7
+  # workers tic and tac inherit those values
+  worker.tic.reference=worker.toe
+  worker.tac.reference=worker.toe
+</source>
+
+<p>
+Please note, that the reference contains
+the full prefix to the referenced configuration attributes,
+not only the name of the referenced worker.
+</p>
+
+<p>
+References can be nested. Be careful to avoid loops!
+</p>
+
+<p>
+References are especially useful, when configuring load balancers.
+Try to understand the following two stage references:
+</p>
+
+<source>
+  # We only use one load balancer
+  worker.list=lb
+  # Let's define some defaults
+  worker.basic.port=8009
+  worker.basic.type=ajp13
+  worker.basic.socket_keepalive=true
+  worker.basic.connect_timeout=10000
+  worker.basic.recovery_options=7
+  # And we use them in two groups
+  worker.lb1.domain=dom1
+  worker.lb1.distance=0
+  worker.lb1.reference=worker.basic
+  worker.lb2.domain=dom2
+  worker.lb2.distance=1
+  worker.lb2.reference=worker.basic
+  # Now we configure the load balancer
+  worker.lb.type=lb
+  worker.lb.method=B
+  worker.lb.balanced_workers=w11,w12,w21,w22
+  worker.w11.host=myhost11
+  worker.w11.reference=worker.lb1
+  worker.w12.host=myhost12
+  worker.w12.reference=worker.lb1
+  worker.w21.host=myhost21
+  worker.w21.reference=worker.lb2
+  worker.w22.host=myhost22
+  worker.w22.reference=worker.lb2
+</source>
+
+</subsection>
+
+</section>
+
+<section name="A sample worker.properties">
+<p>
+Since coping with worker.properties on your own is not an easy thing to do, 
+a sample worker.properties file is bundled along JK. 
+</p>
+
+<p>
+You could also find here a sample workers.properties defining :
+</p>
+
+<ul>
+<li>
+An ajp12 worker that used the host localhost and the port 8007
+</li>
+<li>
+An ajp13 worker that used the host localhost and the port 8008
+</li>
+<li>
+A jni worker
+</li>
+<li>
+A lb worker that load balance the ajp12 and ajp13 workers
+</li>
+</ul>
+
+<source>
+  # Define some properties
+  workers.apache_log=/var/log/httpd/
+  workers.tomcat_home=/var/tomcat3
+  workers.java_home=/opt/IBMJava2-131/
+  ps=/
+  # Define 4 workers, 3 real workers using ajp12, ajp13, jni, the last one being a loadbalancing worker 
+  worker.list=worker1, worker2, worker3, worker4
+  # Set properties for worker1 (ajp12)
+  worker.worker1.type=ajp12
+  worker.worker1.host=locahost
+  worker.worker1.port=8007
+  worker.worker1.lbfactor=1
+  # Set properties for worker2 (ajp13)
+  worker.worker2.type=ajp13
+  worker.worker2.host=locahost
+  worker.worker2.port=8009
+  worker.worker2.lbfactor=1
+  worker.worker2.connection_pool_timeout=600
+  worker.worker2.socket_keepalive=1
+  worker.worker2.socket_timeout=60
+  # Set properties for worker3 (jni)
+  worker.worker3.type=jni
+  # Set worker3 bridge type, here Tomcat 3.3
+  worker.worker3.bridge=tomcat33
+  # Set worker3 classpath
+  worker.worker3.class_path=$(workers.tomcat_home)$(ps)classes
+  worker.worker3.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
+  # Set worker3 tomcat command line
+  worker.worker3.cmd_line=-home
+  worker.worker3.cmd_line=$(workers.tomcat_home)
+  # Set worker3 Tomcat/JVM settings
+  worker.worker3.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)libjvm.so
+  worker.worker3.stdout=$(workers.apache_log)$(ps)inprocess.stdout
+  worker.worker3.stderr=$(workers.apache_log)$(ps)inprocess.stderr
+  worker.worker3.sysprops=tomcat.home=$(workers.tomcat_home)
+  # Set properties for worker4 (lb) which use worker1 and worker2
+  worker.worker4.balance_workers=worker1,worker2
+</source>
+
+</section>
+</body>
+</document>

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/index.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/index.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/index.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -8,6 +8,7 @@
 
   <properties>
     <author email="mturk at apache.org">Mladen Turk</author>
+    <author email="rjung at apache.org">Rainer Jung</author>
     <title>Documentation Index</title>
   </properties>
 
@@ -20,7 +21,7 @@
 
 </p>
 <p>Select one of the links from the navigation menu (to the left) to drill
-down to the more detailed documentation that is available.  Each available
+down to the more detailed documentation that is available. Each available
 manual is described in more detail below.</p>
 
 </section>
@@ -28,239 +29,153 @@
 <section name="Headlines">
 <br />
 <ul>
-<li><a href="news/20060101.html#20060720.1">27 July 2006 - <b>JK-1.2.18 released</b></a>
+<li><a href="news/20070301.html#20070301.1">1 March 2007 - <b>JK-1.2.21 released</b></a>
 <p>The Apache Tomcat team is proud to announce the immediate availability
-of Tomcat Connectors 1.2.18 Stable.
+of Tomcat Connectors 1.2.21 Stable.
 </p>
-<p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.18/tomcat-connectors-1.2.18-src.tar.gz">JK 1.2.18 release sources</a>
- | <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.18/tomcat-connectors-1.2.18-src.tar.gz.asc">PGP signature</a>
+<p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.21/tomcat-connectors-1.2.21-src.tar.gz">JK 1.2.21 release sources</a>
+ | <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.21/tomcat-connectors-1.2.21-src.tar.gz.asc">PGP signature</a>
 </p>
 <p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/">binaries</a> for selected platforms.
 </p>
 </li>
-
-<li><a href="news/20060101.html#20060708.1"><b>JK-1.2.17 not released</b></a>
-<p>Version 1.2.17 of Tomcat Connectors has not been released due to a bug in socket function argument types.
-</p>
-<p>Thanks to all testers for their feedback. All reported new errors have been fixed in Version 1.2.18.
-</p>
-</li>
-
-<li><a href="news/20060101.html#20060629.1"><b>JK-1.2.16 not released</b></a>
-<p>Version 1.2.16 of Tomcat Connectors has not been released due to a bug in the jk status worker.
-</p>
-<p>Thanks to all testers for their feedback. All reported new errors have been fixed in Version 1.2.17.
-</p>
-</li>
-
-<li><a href="news/20050101.html#20051108.1">8 November 2005 - <b>JK-1.2.15 released</b></a>
+<li><a href="news/20060101.html#20061210.1">10 December 2006 - <b>JK-1.2.20 released</b></a>
 <p>The Apache Tomcat team is proud to announce the immediate availability
-of Jakarta Tomcat Connectors 1.2.15 Stable.
+of Tomcat Connectors 1.2.20 Stable.
 </p>
-<p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.15/jakarta-tomcat-connectors-1.2.15-src.tar.gz">JK 1.2.15 release sources</a>
- | <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.15/jakarta-tomcat-connectors-1.2.15-src.tar.gz.asc">PGP signature</a>
+<p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.20/tomcat-connectors-1.2.20-src.tar.gz">JK 1.2.20 release sources</a>
+ | <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.20/tomcat-connectors-1.2.20-src.tar.gz.asc">PGP signature</a>
 </p>
 <p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/">binaries</a> for selected platforms.
 </p>
 </li>
-
-<li><a href="news/20050101.html#20050713.1">13 July 2005 - <b>JK-1.2.14 released</b></a>
+<li><a href="news/20060101.html#20060917.1">17 September 2006 - <b>JK-1.2.19 released</b></a>
 <p>The Apache Tomcat team is proud to announce the immediate availability
-of Jakarta Tomcat Connectors 1.2.14 Stable.
+of Tomcat Connectors 1.2.19 Stable.
 </p>
-<p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.14/jakarta-tomcat-connectors-1.2.14.1-src.tar.gz">JK 1.2.14 release sources</a>
- | <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.14/jakarta-tomcat-connectors-1.2.14.1-src.tar.gz.asc">PGP signature</a>
+<p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.19/tomcat-connectors-1.2.19-src.tar.gz">JK 1.2.19 release sources</a>
+ | <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.19/tomcat-connectors-1.2.19-src.tar.gz.asc">PGP signature</a>
 </p>
 <p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/">binaries</a> for selected platforms.
 </p>
 </li>
+</ul>
+</section>
 
-<li><a href="news/20050101.html#20050516.1">16 May 2005 - <b>JK-1.2.13 released</b></a>
-<p>The Apache Jakarta Tomcat team is proud to announce the immediate availability
-of Jakarta Tomcat Connectors 1.2.13 tarbals for testing.
+<section name="Reference Guide">
+<br />
+<ul>
+<li><a href="reference/workers.html"><b>workers.properties</b></a>
+<p>A Tomcat worker is a Tomcat instance that is waiting to execute servlets
+on behalf of some web server. For example, we can have a web server such as Apache
+forwarding servlet requests to a Tomcat process (the worker) running behind it. 
 </p>
-<p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.13/jakarta-tomcat-connectors-1.2.13-src.tar.gz">JK 1.2.13 release sources</a>
- | <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.13/jakarta-tomcat-connectors-1.2.13-src.tar.gz.asc">PGP signature</a>
+<p>This page contains detailed description of all workers.properties
+directives.
 </p>
-<p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/">binaries</a> for selected platforms.
-</p>
 </li>
-<li><a href="news/20050101.html#20050507.1">7 May 2005 - <b>JK-1.2.12 released</b></a>
-<p>The Apache Jakarta Tomcat team is proud to announce the immediate availability
-of Jakarta Tomcat Connectors 1.2.12.
+
+<li><a href="reference/uriworkermap.html"><b>uriworkermap.properties</b></a>
+<p>
+The forwarding of requests from the web server to tomcat gets configured by defining mapping rules.
+The so-called <b>uriworkermap</b> file is a mechanism of defining those rules.
 </p>
-<p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.12/jakarta-tomcat-connectors-1.2.12-src.tar.gz">JK 1.2.12 release sources</a>
- | <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.12/jakarta-tomcat-connectors-1.2.12-src.tar.gz.asc">PGP signature</a>
-</p>
-<p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/">binaries</a> for selected platforms.
-</p>
 </li>
-<li><a href="news/20050101.html#20050429.1">29 April 2005 - <b>JK-1.2.11 released</b></a>
-<p>The Apache Jakarta Tomcat team is proud to announce the immediate availability
-of Jakarta Tomcat Connectors 1.2.11.
+
+<li><a href="reference/apache.html"><b>Apache</b></a>
+<p>This page contains detailed description of all directives related to
+Apache web server. 
 </p>
-<p>Downlad the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.11/jakarta-tomcat-connectors-1.2.11-src.tar.gz">JK 1.2.11 release sources</a>
- | <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.11/jakarta-tomcat-connectors-1.2.11-src.tar.gz.asc">PGP signature</a>
-</p>
-<p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/">binaries</a> for selected platforms.
-</p>
 </li>
-<li><a href="news/20050101.html#20050330.1">30 March 2005 - <b>JK-1.2.10 released</b></a>
-<p>The Apache Jakarta Tomcat team is proud to announce the immediate availability
-of Jakarta Tomcat Connectors 1.2.10.
+
+<li><a href="reference/iis.html"><b>IIS</b></a>
+<p>This page contains detailed description of all IIS directives.
 </p>
-<p>Downlad the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.10/jakarta-tomcat-connectors-1.2.10-src.tar.gz">JK 1.2.10 release sources</a>
- | <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.10/jakarta-tomcat-connectors-1.2.10-src.tar.gz.asc">PGP signature</a>
-</p>
-<p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/">binaries</a> for selected platforms.
-</p>
 </li>
-<li><a href="news/20041100.html#20041224.1">24 December 2004 - <b>JK-1.2.8 released</b></a>
-<p>The Apache Jakarta Tomcat team is proud to announce the immediate availability
-of Jakarta Tomcat Connectors 1.2.8.
+
+</ul>
+</section>
+
+<section name="Generic HowTo">
+<br />
+<ul>
+
+<li><a href="generic_howto/quick.html"><b>Quick Start</b></a>
+<p>This page describes the configuration files used by JK on the
+Web Server side for the 'impatients'.
 </p>
-<p>Downlad the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.8/jakarta-tomcat-connectors-1.2.8-src.tar.gz">JK 1.2.8 release sources</a>
- | <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.8/jakarta-tomcat-connectors-1.2.8-src.tar.gz.asc">PGP signature</a>
-</p>
-<p>Download the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/">binaries</a> for selected platforms.
-</p>
 </li>
-<li><a href="news/20041100.html#20041218.1">17 December 2004 - <b>JK-1.2.8-rc-1 released</b></a>
-<p>The Apache Jakarta Tomcat team is proud to announce the immediate availability
-of Jakarta Tomcat Connectors 1.2.8-rc-1 (Relase Canditate 1).
+<li><a href="generic_howto/workers.html"><b>All about workers</b></a>
+<p>This page contains an overview about the various aspects of defining
+and using workers.
 </p>
-<p>
-We expect it to be ratified as a Stable release when the vote takes place
-in the next week.
-</p> 
-<p>Downlad the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jakarta-tomcat-connectors-1.2.8-rc-1.tar.gz">JK 1.2.8 release candidate 1 sources</a>
- | <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jakarta-tomcat-connectors-1.2.8-rc-1.tar.gz.asc">PGP signature</a>
-</p>
 </li>
-<li><a href="news/20041100.html#20041213.1">13 December 2004 - <b>JK-1.2.7-beta-3 released</b></a>
-<p>The Apache Jakarta Tomcat team is proud to announce the immediate availability
-of Jakarta Tomcat Connectors 1.2.7-beta-3. The release contains a fix to few configuraton
-problems detected with JK-1.2.7-beta-2 version. 
+<li><a href="generic_howto/loadbalancers.html"><b>Load Balancing</b></a>
+<p>This page contains an introduction on load balancing with JK.
 </p>
-<p>Downlad the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jakarta-tomcat-connectors-1.2.7-beta-3.tar.gz">JK 1.2.7 beta sources</a>
- | <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jakarta-tomcat-connectors-1.2.7-beta-3.tar.gz.asc">PGP signature</a>
-</p>
 </li>
-<li><a href="news/20041100.html#20041207.1">7 December 2004 - <b>JK-1.2.7-beta-2 released</b></a>
-<p>The Apache Jakarta Tomcat team is proud to announce the immediate availability
-of Jakarta Tomcat Connectors 1.2.7-beta-2. The release contains a fix to few compilation
-problems detected with JK-1.2.7-beta version. 
-</p>
-<p>Downlad the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jakarta-tomcat-connectors-1.2.7-beta-2.tar.gz">JK 1.2.7 beta sources</a>
- | <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jakarta-tomcat-connectors-1.2.7-beta-2.tar.gz.asc">PGP signature</a>
-</p>
-</li>
-<li><a href="news/20041100.html#20041130.1">30 November 2004 - <b>JK-1.2.7-beta released</b></a>
-<p>The Apache Jakarta Tomcat team is proud to announce the immediate availability
-of Jakarta Tomcat Connectors 1.2.7-beta. The release contains a significant number
-of bug fixes and new features. 
-</p>
-<p>Downlad the <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jakarta-tomcat-connectors-1.2.7-beta-1.tar.gz">JK 1.2.7 beta sources</a>
- | <a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jakarta-tomcat-connectors-1.2.7-beta-1.tar.gz.asc">PGP signature</a>
-</p>
-</li>
-<li><a href="news/20041100.html#20041115.1">15 November 2004 - <b>JK2 is officially unsupported!</b></a>
-<p>JK2 has been put in maintainer mode and no further development will take place.
-The reason for shutting down JK2 development was the lack of developers interest.
-Other reason was lack of users interest in adopting JK2, caused by configuration
-complexity when compared to JK.
-</p>
-<p>JK2 will have it's successor within core Apache2.1/2.2 distribution.
-We have developed new <b>proxy_ajp</b> that is an addition to
-the mod_proxy and uses Tomcat's AJP protocol stack. It is developped in httpd-2.1
-and integrated in it. We have also developed a new <b>proxy_balancer</b> module
-for load balancing http and ajp protocol stacks.
-</p>
-<p>JK will be fully supported for all other web servers. The next JK release is
-planned for the end of November. Lots of code from JK2 has been ported to JK
-</p>
-</li>
+
 </ul>
 </section>
 
-<section name="Configuration">
+<section name="Webserver HowTo">
 <br />
-<ul>
-<li><a href="config/workers.html"><b>Workers.properties Documentation</b></a>
-<p>A Tomcat worker is a Tomcat instance that is waiting to execute servlets
-on behalf of some web server. For example, we can have a web server such as Apache
-forwarding servlet requests to a Tomcat process (the worker) running behind it. 
+<p>These pages contain detailed descriptions of how to build and
+install JK for the various web servers.
 </p>
-<p>This section contains detail description of all workers.properties
-directives.
-</p>
-</li>
+<ul>
 
-<li><a href="config/apache.html"><b>Apache Documentation</b></a>
-<p>This section contains detail description of all directives related to
-Aapache web server. 
-</p>
+<li><a href="webserver_howto/apache.html"><b>Apache</b></a>
 </li>
-<li><a href="config/iis.html"><b>IIS Documentation</b></a>
-<p>This section contains detail description of all IIS directives.
-</p>
+<li><a href="webserver_howto/iis.html"><b>IIS</b></a>
 </li>
+<li><a href="webserver_howto/nes.html"><b>Netscape/SunOne/Sun</b></a>
+</li>
 
 </ul>
 </section>
 
-<section name="Installation">
+<section name="AJP Protocol Reference">
 <br />
 <ul>
-<li><a href="install/apache1.html"><b>Apache 1.3.x installation documentation</b></a>
-<p>This section contains detail description of how to build and
-install mod_jk for Apache 1.3.x web server. Browse to this section if you need to
-build mod_jk for Apache 1.3.x web server from sources.
+<li><a href="ajp/ajpv13a.html"><b>AJPv13</b></a>
+<p>This page describes the Apache JServ Protocol version 1.3 (hereafter
+<b>ajp13</b>). 
 </p>
 </li>
-<li><a href="install/apache2.html"><b>Apache 2.0.x installation documentation</b></a>
-<p>This section contains detail description of how to build and
-install mod_jk for Apache 2.0.x web server. Browse to this section if you need to
-build mod_jk for Apache 2.0.x web server from sources.
+<li><a href="ajp/ajpv13ext.html"><b>AJPv13 Extension Proposal</b></a>
+<p>This page describes an extension proposal for ajp13.
 </p>
 </li>
-
-<li><a href="install/iis.html"><b>IIS installation documentation</b></a>
-<p>This section contains detail description of how to build and
-install isapi_redirector for IIS web server.
-</p>
-</li>
-
 </ul>
+
 </section>
 
-
 <section name="Miscellaneous documentation">
 <br />
 <ul>
-<li><a href="common/ajpv13a.html"><b>AJPv13 Protocol Documentation</b></a>
-<p>This section describes the Apache JServ Protocol version 1.3 (hereafter
-<b>ajp13</b>). There is, apparently, no current documentation of how the
-protocol works. This document is an attempt to remedy that, in order to
-make life easier for maintainers of JK, and for anyone who wants to
-port the protocol to some other container. 
+<li><a href="miscellaneous/faq.html"><b>Frequently asked questions</b></a>
+<p>
 </p>
 </li>
-<li><a href="howto/index.html"><b>HowTo Documentation</b></a>
-<p>This section contains various howto documents General Informations and FAQ about JK 
+<li><a href="miscellaneous/changelog.html"><b>Changelog</b></a>
+<p>
+The FAQ detail the changes made in each version of JK.
 </p>
 </li>
-<li><a href="faq.html"><b>General Informations and FAQ about JK</b></a>
-<p>
+<li><a href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Tomcat+5&amp;component=Native%3AJK&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=&amp;emailassigned_to2=1&amp;emailreporter2=1&amp;emailcc2=1&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">
+<b>Current Native:JK bugs</b></a>
+<p>This is the Bugzilla Bug List related to Native:JK.
 </p>
 </li>
-<li><a href="changelog.html"><b>Details the changes made to JK</b></a>
+<li><a href="miscellaneous/doccontrib.html"><b>Contribute documentation</b></a>
 <p>
+This page describes, how to contribute to the JK documentation.
 </p>
 </li>
-<li><a href="proxy.html"><b>Using ajp-proxy in httpd-2.1</b></a>
+<li><a href="miscellaneous/tools.html"><b>Tools</b></a>
 <p>
-mod-proxy in httpd-2.1 offers an AJP connection as well as load balancing.
+This page contains information, on some tool scripts contained in the Jk distribution.
 </p>
 </li>
 <li><a href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html">
@@ -268,15 +183,25 @@
 <p>Here you can find old JK and JK2 documentation.
 </p>
 </li>
-<li><a href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Tomcat+5&amp;component=Native%3AJK&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=&amp;emailassigned_to2=1&amp;emailreporter2=1&amp;emailcc2=1&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">
-<b>Current Native:JK bugs</b></a>
-<p>This is Buzgilla Bug List related to Native:JK.
-</p>
-</li>
 </ul>
 
 </section>
 
+<section name="News">
+<br />
+<p>Release news from various years.
+</p>
 
+<ul>
+<li><a href="news/2006"><b>2006</b></a>
+</li>
+<li><a href="news/2006"><b>2005</b></a>
+</li>
+<li><a href="news/2006"><b>2004</b></a>
+</li>
+
+</ul>
+</section>
+
 </body>
 </document>

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/confighowto.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/confighowto.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/confighowto.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,12 +1,13 @@
 <?xml version="1.0"?>
 <document>
 <copyright>
-   Copyright 1999-2004 The Apache Software Foundation
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
  
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
- 
        http://www.apache.org/licenses/LICENSE-2.0
  
    Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
 <properties>
 <title>Quick Start JK2 Configuration Guide</title>
 <author email="mturk at mappingsoft.com">Mladen Turk</author>
-<date>$Date: 2004-03-03 22:46:34 -0600 (Wed, 03 Mar 2004) $</date>
+<date>$Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $</date>
 </properties>
 <section name="Introduction">
 <p>

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configtc.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configtc.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configtc.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,12 +1,13 @@
 <?xml version="1.0"?>
 <document>
 <copyright>
-   Copyright 1999-2004 The Apache Software Foundation
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
  
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
- 
        http://www.apache.org/licenses/LICENSE-2.0
  
    Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
 	<properties>
 		<title>Configuration options</title>
 		<author email="jfrederic.clere at fujitsu-siemens.com">Jean-Frederic Clere</author>
-		<date>$Date: 2004-03-03 22:46:34 -0600 (Wed, 03 Mar 2004) $</date>
+		<date>$Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $</date>
 	</properties>
 	<section name="Intro">
 		<p>

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configtccom.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configtccom.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configtccom.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,12 +1,13 @@
 <?xml version="1.0"?>
 <document>
 <copyright>
-   Copyright 1999-2004 The Apache Software Foundation
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
  
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
- 
        http://www.apache.org/licenses/LICENSE-2.0
  
    Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
 	<properties>
 		<title>Coyote/JK2 Handlers</title>
 		<author email="jfrederic.clere at fujitsu-siemens.com">Jean-Frederic Clere</author>
-		<date>$Date: 2004-03-03 22:46:34 -0600 (Wed, 03 Mar 2004) $</date>
+		<date>$Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $</date>
 	</properties>
 	<section name="apr">
 		<p>

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configtcex.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configtcex.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configtcex.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,12 +1,13 @@
 <?xml version="1.0"?>
 <document>
 <copyright>
-   Copyright 1999-2004 The Apache Software Foundation
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
  
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
- 
        http://www.apache.org/licenses/LICENSE-2.0
  
    Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
 <properties>
 <title>Examples</title>
 <author email="jfrederic.clere at fujitsu-siemens.com">Jean-Frederic Clere</author>
-<date>$Date: 2004-03-03 22:46:34 -0600 (Wed, 03 Mar 2004) $</date>
+<date>$Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $</date>
 </properties>
 
 <section name="jk2.properties">

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configweb.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configweb.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configweb.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,12 +1,13 @@
 <?xml version="1.0"?>
 <document>
 <copyright>
-   Copyright 1999-2004 The Apache Software Foundation
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
  
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
- 
        http://www.apache.org/licenses/LICENSE-2.0
  
    Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 <title>Configuration file</title>
 <author email="cmanolache at yahoo.com">Costin Manolache</author>
 <author email="jfrederic.clere at fujitsu-siemens.com">Jean-Frederic Clere</author>
-<date>$Date: 2004-03-03 22:46:34 -0600 (Wed, 03 Mar 2004) $</date>
+<date>$Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $</date>
 </properties>
     <section name="Intro">
 

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configwebcom.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configwebcom.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configwebcom.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,12 +1,13 @@
 <?xml version="1.0"?>
 <document>
 <copyright>
-   Copyright 1999-2004 The Apache Software Foundation
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
  
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
- 
        http://www.apache.org/licenses/LICENSE-2.0
  
    Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
   <author email="jfrederic.clere at fujitsu-siemens.com">Jean-Frederic Clere</author>
   <author email="yoavs at apache.org">Yoav Shapira</author>
 
-  <date>$Date: 2004-08-11 13:06:27 -0500 (Wed, 11 Aug 2004) $</date>
+  <date>$Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $</date>
 </properties>
 
 <section name="Intro">

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configwebex.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configwebex.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/configwebex.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,12 +1,13 @@
 <?xml version="1.0"?>
 <document>
 <copyright>
-   Copyright 1999-2004 The Apache Software Foundation
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
  
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
- 
        http://www.apache.org/licenses/LICENSE-2.0
  
    Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 <title>Examples</title>
 <author email="cmanolache at yahoo.com">Costin Manolache</author>
 <author email="jfrederic.clere at fujitsu-siemens.com">Jean-Frederic Clere</author>
-<date>$Date: 2004-03-03 22:46:34 -0600 (Wed, 03 Mar 2004) $</date>
+<date>$Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $</date>
 </properties>
     <section name="Sockets">
         <p>

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/installhowto.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/installhowto.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/installhowto.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,12 +1,13 @@
 <?xml version="1.0"?>
 <document>
 <copyright>
-   Copyright 1999-2004 The Apache Software Foundation
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
  
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
- 
        http://www.apache.org/licenses/LICENSE-2.0
  
    Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
   <author email="andy at tagish.com">Andy Armstrng</author>
   <author email="yoavs at apache.org">Yoav Shapira</author>
 
-  <date>$Date: 2004-08-11 13:06:27 -0500 (Wed, 11 Aug 2004) $</date>
+  <date>$Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $</date>
 </properties>
 
   <section name="Installation">

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/vhosthowto.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/vhosthowto.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/jk2/vhosthowto.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,12 +1,13 @@
 <?xml version="1.0"?>
 <document>
 <copyright>
-   Copyright 1999-2004 The Apache Software Foundation
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
  
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
- 
        http://www.apache.org/licenses/LICENSE-2.0
  
    Unless required by applicable law or agreed to in writing, software

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/changelog.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/changelog.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/changelog.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,995 @@
+<?xml version="1.0"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="changelog.html">
+
+  &project;
+
+  <properties>
+    <author email="mturk at apache.org">Mladen Turk</author>
+    <author email="rjung at apache.org">Rainer Jung</author>
+    <title>Changelog</title>
+  </properties>
+
+<body>
+
+<section name="Preface">
+  <p>
+  This is the Changelog for Tomcat Connectors. This changelog
+  does not contain all updates and fixes to the Tomcat connectors (yet).
+  It should contain fixes made only after November 10th 2004, when the
+  new documentation project for JK was started.
+  </p>
+</section>
+<section name="Changes between 1.2.21 and 1.2.22">
+  <br />
+</section>
+<section name="Changes between 1.2.20 and 1.2.21">
+  <br />
+  <subsection name="Native">
+    <changelog>
+      <fix>
+        <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0774"><b>CVE-2007-0774</b></a>
+        : Fix a buffer overflow in map_uri_to_worker().
+        URL longer that 4095 were crashing mod_jk.
+        This could have allow different kind of attacks. Reported by ZDI.
+        Please note this issue only affected versions 1.2.19 and 1.2.20 of the
+        Apache Tomcat JK Web Server Connector and not previous versions.
+        Tomcat 5.5.20 and Tomcat 4.1.34
+        included a vulnerable version in their source packages.
+        Other versions of Tomcat were not affected.
+      </fix>
+      <add>
+      Check the worker. parameters and don't start if the parameter is not a valid one. (jfclere)
+      </add>
+      <add>
+        <bug>41439</bug>: Allow session IDs to get stripped off URLs of static
+        content in Apache by adding JkStripSession
+        directive (configurable per vhost). (mturk)
+      </add>
+      <add>
+      Change semantics of empty defaults for JkEnvVar variables.
+      Until 1.2.19: not allowed. In 1.2.20: send variables as empty strings, if
+      neither set to non empty in config, nor during runtime.
+      Starting with 1.2.21: If config has no second argument only send
+      variable if set (even when set to empty string) during runtime.
+      Allows good combination with condition attribute in tomcat access log. (rjung)
+      </add>
+      <fix>
+        <bug>41610</bug>: Fix incorrect detection of missing Content-Length
+        header leading to duplicate headers. Contributed by Boris Maras. (rjung)
+      </fix>
+      <fix>
+      Better build support for SunONE (Netscape/iPlanet) webservers. (jim)
+      </fix>
+      <add>
+      Add warning if duplicate map keys are read and are not allowed,
+      e.g. when parsing uriworkermap.properties. (rjung)
+      </add>
+      <fix>
+      Don't concat worker names, if uriworkermap.properties has a duplicate
+      pattern, instead overwrite the worker. (rjung)
+      </fix>
+      <fix>
+      Log deprecation message even in duplication case. (rjung)
+      </fix>
+      <fix>
+      uriworkermap.properties: Fix off-by-one problem when deleting
+      URL mapping during reloading of uriworkermap.properties. (rjung)
+      </fix>
+      <add>
+        <bug>41439</bug>: Allow session IDs to get stripped off URLs of static
+        content in IIS (configurable). (rjung)
+      </add>
+      <add>
+        <bug>41333</bug>: Refactoring isapi_plugin configuration reading. (rjung)
+      </add>
+      <add>
+        <bug>41332</bug>: Add some more errno logging and unify the format. (rjung)
+      </add>
+      <add>
+      JkStatus: Improved logging by adding status worker name to messages.
+      Added messages to the recover worker action. (rjung)
+      </add>
+      <add>
+      JkStatus: Refactoring searching for workers and sub workers. (rjung)
+      </add>
+      <add>
+        <bug>41318</bug>: Add configuration to make status worker user
+        name checks case insensitive. (rjung)
+      </add>
+      <add>
+      JkStatus: Add estimated time until next global maintenance to other
+      mime types and adopt jkstatus ant task. (rjung)
+      </add>
+      <add>
+      JkStatus: Show estimated time until next global maintenance.
+      Change displayed time until next recovery to a min/max pair. (rjung)
+      </add>
+      <add>
+      JkStatus: Allow a user of a read/write status worker to switch it
+      to and from read_only mode temporarily. (rjung)
+      </add>
+      <fix>
+      JkStatus: Do not show read/write commands in a read_only status worker. (rjung)
+      </fix>
+      <add>
+      JkStatus: Allow lb sub workers in error state to be marked for recovery
+      administratively from the status worker. (rjung)
+      </add>
+      <add>
+      Load Balancer: Do not try to recover multiple times in parallel.
+      Use additional runtime states "PROBE" and "FORCED". (rjung)
+      </add>
+      <fix>
+      JkStatus: Improve data synchronization between different processes. (rjung)
+      </fix>
+      <fix>
+        <bug>41381</bug>: Fix segfault in feature fail_on_status
+        (wrong order of log arguments). Patch by Juri Haberland. (rjung)
+      </fix>
+      <fix>
+      Use correct windows line endings for log file on WIN32 platform. (rjung)
+      </fix>
+    </changelog>
+  </subsection>
+</section>
+<section name="Changes between 1.2.19 and 1.2.20">
+  <br />
+  <subsection name="Native">
+    <changelog>
+      <add>
+      JkStatus Ant Task documentation page. (pero/rjung)
+      </add>
+      <add>
+      JkStatus Ant Tasks: Add new tasks for update and reset. (pero)
+      </add>
+      <update>
+      JkStatus Ant Tasks: Update for new xml status format. (pero)
+      </update>
+      <update>
+      Allow integer and string values when setting enumeration/boolean
+      attributes via status worker update action. (rjung)
+      </update>
+      <add>
+      Docs: New reference guide page for status worker. (rjung)
+      </add>
+      <update>
+      Docs: Renaming the config dir to reference and using the title
+      Reference Guide in the docs. (rjung)
+      </update>
+      <update>
+      Added retry_on_status for workers directive. (mturk)
+      </update>
+      <update>
+      Status Worker: Add directive to make property prefix
+      and good/bad rule configurable. (rjung)
+      </update>
+      <update>
+      Status Worker: Omit lb members when att=nosw. (rjung)
+      </update>
+      <update>
+      Status Worker: New command cmd=version for a short version output. (rjung)
+      </update>
+      <update>
+      Status Worker: New output stype mime=prop produces property lists. (rjung)
+      </update>
+      <fix>
+      Apache: Fix incorrect handling of JkEnvVar when Vars are set multiple times. (rjung)
+      </fix>
+      <update>
+      Renamed jvm_route to route. Deprecated jvm_route, but still use it as fallback
+      when parsing the worker configuration. (rjung)
+      </update>
+      <update>
+      IIS: Make uriworkermap file reload check interval configurable. (mturk)
+      </update>
+      <update>
+      Apache: Make uriworkermap file reload check interval configurable. (rjung)
+      </update>
+      <update>
+      Status Worker: Add directives for customizing the XML
+      output (ns, xmlns, doctype). (mturk)
+      </update>
+      <add>
+      Docs: New page with description of uriworkermap. (rjung)
+      </add>
+      <update>
+      Docs: Added short description of max_packet_size to worker
+      reference. (rjung)
+      </update>
+      <update>
+      Status Worker: All functions accessible also for xml and txt
+      mime types (list, show, update, reset). (rjung)
+      </update>
+      <update>
+      Status Worker: New global health indicators for load balancers
+      named bad (error, recovering or stopped), degraded (busy or disabled)
+      and good (the rest, active and OK or N/A). (rjung)
+      </update>
+      <update>
+      Status Worker: New edit page, to change one attribute for all
+      members of a load balancer. (rjung)
+      </update>
+      <update>
+      Status Worker: Standard logging for status worker. (rjung)
+      </update>
+      <update>
+      Status Worker: code refactoring. (rjung)
+      </update>
+      <update>
+      Status Worker: New attribute user (list) denies access, if
+      the request user in the sense of remote_user is not in this list.
+      Empty list = no deny (rjung)
+      </update>
+      <update>
+      Status Worker: New attribute read_only disables the parts
+      of the status worker, that change states and configurations. (rjung)
+      </update>
+      <fix>
+        <bug>36121</bug>: Don't change main uri when mod_jk serves
+        included uri. (markt)
+      </fix>
+      <update>
+      Apache VHosts: Merge JkOptions +base - -base + +vhost - -vhost. (rjung)
+      </update>
+      <update>
+      Apache Docs: Adding requirements, context information, default values and
+      inheritance rules to the Apache config documentation. (rjung)
+      </update>
+      <update>
+      Status Worker: Add source type to status worker, remove the redundant "context"
+      column in the map listing (context=uri). (rjung)
+      </update>
+      <update>
+      uriworkermap: On reload of the file, all old entries from the previous file
+      version get deleted, before the new ones are being read. (rjung)
+      </update>
+      <fix>
+      Keep normal maps and exclusion maps internally separate. Don't treat them
+      as the same when adding a rule. (rjung)
+      </fix>
+      <update>
+      Status Worker: Display mapping rules also for non-lb workers and in global view. (rjung)
+      </update>
+      <update>
+      Apache VHosts: Use the vhost log files instead of the main log. (rjung)
+      </update>
+      <update>
+      Apache VHosts: Allow individual timestamp formats by refactoring the formatting
+      method. (rjung)
+      </update>
+      <update>
+      Apache VHosts: Adding all missing config items to the virtual host level.
+      Don't overwrite the settings from the global server, but inherit them
+      in case they are not set in the virtual host. (rjung)
+      </update>
+      <update>
+      Apache: remove unnecessary function names from log messages. (rjung)
+      </update>
+      <update>
+      Apache: add a default log file location and a message, if the default gets used. (rjung)
+      </update>
+      <update>
+      Apache: add missing JK_IS_DEBUG_LEVEL() (rjung)
+      </update>
+      <update>
+      Apache VHosts: Allow JkWorkersFile, JKWorkerProperty, JkShmFile and JkShmFileSize
+      only in global virtual server. (rjung)
+      </update>
+      <update>
+      Add some more jk_close_socket() and reduce log level for some info messages. (rjung)
+      </update>
+      <update>
+      Load Balancer: Added the Sessions strategy. Contributed by Takayuki Kaneko. (rjung)
+      </update>
+      <update>
+      Docs: Minor enhancements and syncing with more recent versions. (rjung)
+      </update>
+      <fix>
+      <bug>40997</bug>: Separate uri mappings from their '!'
+      counterpart when checking for duplicates in uriworkermap
+      reloading. (rjung)
+      </fix>
+      <fix>
+      <bug>40877</bug>: Make sure the shared memory is reset on
+      attach for multiple web server child processes. (mturk)
+      </fix>
+      <update>
+      IIS: Added shm_size property to be able to deal with over 64
+      workers configurations. (mturk)
+      </update>
+      <update>
+      IIS: Increase default thread count to 250, so its the same as Apache Httpd
+      default configuration. (mturk)
+      </update>
+      <fix>
+      <bug>40966</bug>: Fix socket descriptor checks on windows. (mturk)
+      </fix>
+      <fix>
+      <bug>40965</bug>: Initialize missing service parameters. (mturk)
+      </fix>
+      <fix>
+      <bug>40938</bug>: Fix releasing of rewrite map.
+      Thanks to Chris Adams for spotting that. (mturk)
+      </fix>
+      <update>
+      Apache: Added +FlushHeader JkOptions. (mturk)
+      </update>
+      <update>
+      Added explicit flush when AJP body packet size is zero. (mturk)
+      </update>
+      <fix>
+      <bug>40856</bug>: Fixing case sensitivity bug in URL mapping. (rjung)
+      </fix>
+      <fix>
+      <bug>40793</bug>: Documentation: Improvements to Apache HowTo provided by
+      Paul Charles Leddy. (markt)
+      </fix>
+      <fix>
+      <bug>40774</bug>: Fixing wrong recursion termination. This one restricted the
+      "reference" feature unintentionally to 20 workers. (rjung)
+      </fix>
+      <fix>
+      <bug>40716</bug>: Adding "reference" feature to IIS and Netscape. (rjung)
+      </fix>
+      <fix>
+      Documentation: Corrected SetEnvIf syntax in JK_WORKER_NAME example. (rjung)
+      </fix>
+      <fix>
+      Documentation: Added forgotten STATE and ACTIVATION notes for load balancer logging in Apache. (rjung)
+      </fix>
+      <update>
+      Apache: Use instdso.sh instead libtool: libtool does not work on HP-UX for example. (jfclere)
+      </update>
+    </changelog>
+  </subsection>
+</section>
+<section name="Changes between 1.2.18 and 1.2.19">
+  <br />
+  <subsection name="Native">
+    <changelog>
+      <update>
+      Docs: Add SetHandler and new env var to Apache config docs. (rjung)
+      </update>
+      <update>
+      Apache 1.3: Backport "no-jk" feature. (rjung)
+      </update>
+      <update>
+      Apache: Add an environment variable to make SetHandler "jakarta-servlet" more
+      useful. The variable is JK_WORKER_NAME, but can be changed by the
+      new directive JkWorkerIndicator. (rjung)
+      </update>
+      <fix>
+      LB: Don't use single worker shortcut, if the single worker is being diabled. (rjung)
+      </fix>
+      <fix>
+      Status worker: Add short explanation of activation and error states to legend. (rjung)
+      </fix>
+      <fix>
+      Docs: Add meaning of zero timeout values for various timeouts
+      in workers.properties. (rjung)
+      </fix>
+      <fix>
+      LB: Cleanup of Mladens forced recovery. (rjung)
+      </fix>
+      <fix>
+      LB: Do not change lb_value for recovering workers to max, if 
+      we are using BUSYNESS method. (rjung)
+      </fix>
+      <fix>
+      Apache: Since 1.2.14 mod_jk failed to detect client abort. (rjung)
+      </fix>
+      <fix>
+      Docs: Corrected description of JkEnvVar. (rjung)
+      </fix>
+      <fix>
+      Solaris: Detect filio.h in configure to make the new connection detection
+      build on solaris (r432825). (rjung)
+      </fix>
+      <update>
+      Add feature to force the recovery of workers that are
+      member of loadbalancer if all the members are in error
+      state. This fixes the time gap where 503 was returned
+      caused by recovery_timeout although the backend was
+      ready to handle the requests. (mturk)
+      </update>
+      <update>
+      Docs: Seperate deprecated directives in their own table. (rjung)
+      </update>
+      <update>
+      Docs: Allow "-" and "_" in worker names. (rjung)
+      </update>
+      <update>
+      Allow multiple lines with attributes "balance_workers" and "mount". (rjung)
+      </update>
+      <fix>
+      Make jk_is_some_property match more precisely. (rjung)
+      </fix>
+      <update>
+      JkStatus: Make refresh interval changeable. (rjung)
+      </update>
+      <fix>
+      JkStatus: Adjust display of recover time wrt. global maintenance. (rjung)
+      </fix>
+      <update>
+      LB: Resetting worker state from OK to NA, if worker has been idle
+      too long. (rjung)
+      </update>
+      <fix>
+      Avoid compiler warnings concerning the use of lb_*_type arrays.
+      Use functions instead. (rjung)
+      </fix>
+      <update>
+      Added %R JkRequestLogFormat option for Apache 1 and Apache 2. (mturk)
+      </update>
+      <update>
+      Allow changing jvm Route from status manager. (mturk)
+      </update>
+      <fix>
+      Do not retun 400 if Tomcat fails in the midle of the post
+      request. Return 500 insted. (mturk)
+      </fix>
+      <update>
+      LB: Combine ok/error/recovering/busy runtime states into a single scalar. (rjung)
+      </update>
+      <update>
+      LB: Combine active/disabled/stopped configuration states into a single scalar. (rjung)
+      </update>
+      <update>
+      LB: Add several Apache notes to enable standard logging for load balancer results. (rjung)
+      </update>
+      <update>
+      LB: Reorganisation of the main load balancer service loop. (rjung)
+      </update>
+      <update>
+      Implement hierarchical worker configuration via attribute "reference". (rjung)
+      </update>
+      <update>
+      Log deprecated properties. (rjung)
+      </update>
+      <fix>
+      IIS: Fix simple_rewrite for the cases where the
+      rewritten url is larger then the original one. (mturk)
+      </fix>
+      <update>
+      New JkOption "DisableReuse" to disable connection persistence. (jim)
+      </update>
+      <update>
+      LB: Move sessionid retrieval out of get_most_suitable_worker into service. (rjung)
+      </update>
+      <update>
+      Code cleanup for all service methods (use TRACE, JK_LOG_NULL_PARAMS, null pointer checks). (rjung)
+      </update>
+      <update>
+      JKSTATUS: add refresh link. No refresh for updates. Redirect to list view after update. (rjung)
+      </update>
+      <update>
+      Add new hook add_log_items into servers. (rjung)
+      </update>
+      <update>
+      APACHE httpd: Rename apache logging notes. (rjung)
+      </update>
+      <update>
+      LB: Rename lock and method constants. Add constants for defaults. (rjung)
+      </update>
+      <fix>
+      Default log level should be INFO and not DEBUG.
+      Default log level should be the same for all server types. (rjung)
+      </fix>
+      <fix>
+      Make rewrite_rule_map and log_level as non mandatory
+      directives for isapi_redirect. (mturk)
+      </fix>
+      <fix>
+      <bug>40107</bug>: Rewrite is_socket_connected function.
+      Non blocking socket is not used any more. (mturk)
+      </fix>
+      <update>
+      Allow building with VS2005 without too many warnings. (mturk)
+      </update>
+      <fix>
+      Decide by MMN, which piped log API we should use.
+      mod_jk 1.2.18 broke compilation with Apache 1.3 pre 1.3.28. (rjung)
+      </fix>
+    </changelog>
+  </subsection>
+</section>
+<section name="Changes between 1.2.17 and 1.2.18">
+  <br />
+  <subsection name="Native">
+    <changelog>
+      <fix>
+      Using socklen_t in getsockopt. Also introducing jk_sock_t. (mturk)
+      </fix>
+      <update>
+      Allow recovery wait time below 60 seconds (new minimum is 1 second). (mturk)
+      </update>
+    </changelog>
+  </subsection>
+</section>
+<section name="Changes between 1.2.16 and JK 1.2.17">
+  <br />
+  <subsection name="Native">
+    <changelog>
+      <fix>
+      Fix hanging jk status worker when certain attributes are being updated
+      due to double locking. (rjung)
+      </fix>
+      <update>
+      Allow JkMount to behave like uriworkermap.properties
+      by parsing pipe symbol as two directive marker. (mturk)
+      </update>
+    </changelog>
+  </subsection>
+</section>
+<section name="Changes between 1.2.15 and JK 1.2.16">
+  <br />
+  <subsection name="Native">
+    <changelog>
+      <update>
+      Added simple rewrite capability for IIS. Although simple it
+      will fulfill most needs. (mturk)
+      </update>
+      <update>
+      Added RECOVER_ABORT_IF_CLIENTERROR recovery_option that closes
+      the connection if client connection is broken during the request. (mturk)
+      </update>
+      <update>
+      Renamed cache_timeout directive to connection_pool_timeout. (mturk)
+      </update>
+      <update>
+      Added connection_pool_minsize directive. (mturk)
+      </update>
+      <update>
+      Deprecate recycle_timeout directive. (mturk)
+      </update>
+      <update>
+      Corrected some HTML syntax bugs in output of status worker. (rjung)
+      </update>
+      <update>
+      Added the refresh=n parameter to the status worker. It will update the display every n seconds. (rjung)
+      </update>
+      <update>
+      Balancer: Add attribute distance to balanced workers to express preferences between workers. (rjung)
+      </update>
+      <update>
+      Balancer: Add attribute jvm_route to balanced workers to be able to use the same target in different balancers. (rjung)
+      </update>
+      <update>
+      Status: Add lb_mult to status. (rjung)
+      </update>
+      <update>
+      Balancer: Make different balancing strategies work in a similar way (use lb_value, use decay during global maintenance, use integer factors for weights. (rjung)
+      </update>
+      <update>
+      Balancer: Improve locking. (rjung)
+      </update>
+      <update>
+      Balancer: Workers start slower after recovering. (rjung)
+      </update>
+      <update>
+      Balancer: Make different balancing strategies work in a similar way (use lb_value, use decay during global maintenance, use integer factors lb_mult for weights). (rjung)
+      </update>
+      <update>
+      Balancer: Move recovery check to global maintenance. (rjung)
+      </update>
+      <update>
+      Balancer: Add global maintenance method, that is called in only one process. (rjung)
+      </update>
+      <update>
+      Extend our use of autoconf to find a 32Bit and a 64Bit unsigned type and their printf formats. (rjung)
+      </update>
+      <update>
+      Logging: piped loggers for JkLogFile and Apache 1.3. (rjung)
+      </update>
+      <update>
+      Logging: Add PID to log lines for each log level apart from REQUEST. (rjung)
+      </update>
+      <update>
+      Logging: flush buffered logs to keep lines in correct order. Output final newline together with log message. (rjung)
+      </update>
+      <update>
+      Reducing shm size. (rjung)
+      </update>
+      <update>
+      Only log removing of old worker, when we actually do it. (rjung)
+      </update>
+      <fix>
+      <bug>37469</bug>: Fix shared memory close for forked childs.
+      The shared memory will be closed by the parent process. (mturk)
+      </fix>
+      <fix>
+      <bug>37332</bug>: Fix potential misuse of buffer length with
+      snprintf functions. (mturk)
+      </fix>
+      <fix>
+      <bug>38859</bug>: Protect mod_jk against buggy or malicious
+      AJP servers in the backend. Patch provided by Ruediger Pluem. (mturk)
+      </fix>
+      <fix>
+      <bug>38889</bug>: Use worker map sorting depending on the path
+      elements, to comply with Servlet spec. Patch provided by
+      Steve Revilak. (mturk)
+      </fix>
+      <update>
+      <bug>36138</bug>: Added Busyness lb method. Patch provided
+      by  Chris Lamprecht. (mturk)
+      </update>
+      <fix>
+      Fix pessimistic locking mode. The patch correctly handles the
+      burst load, by syncing the access to the shared memory data. (mturk)
+      </fix>
+      <fix>
+      <bug>38806</bug>: Reclycle worker even if it is disabled.
+      This fixes hot-standby workers in error state. (mturk)
+      </fix>
+      <fix>
+      <bug>37167</bug>: Allow building with BSD-ish like make. (mturk)
+      </fix>
+      <fix>
+      ISAPI plugin (isapi_redirect.dll) did not provide correct request data
+      for IIS
+ to include in the IIS log. (markt)
+      </fix>
+    </changelog>
+  </subsection>
+</section>
+<section name="Changes between 1.2.14 and 1.2.15">
+  <br />
+  <subsection name="Native">
+    <changelog>
+      <fix>
+      Fix AJP13 Cookie2 parsing. Cookie2 was always send as Cookie.
+      Patch provided by Andre Gebers. (mturk)
+      </fix>
+      <fix>
+      <bug>35862</bug>: NSAPI plugin attempts to read freed memory and attempts to
+      dereference a null pointer. Patch provided by Brian Kavanagh. (markt)
+      </fix>
+    </changelog>
+  </subsection>
+</section>
+<section name="Changes between 1.2.13 and 1.2.14">
+  <br />
+  <subsection name="Native">
+    <changelog>
+      <fix>
+        Fix lb for worker mpm's with cachesize set to lower number then
+        ThreadsPerChild is. If retries is set to value larger then 3 sleep for
+        100 ms on each attempt. This enables to tune the connection cache,
+        and serialize incoming connections instead returning busy if connection
+        count is larger then cachesize. (mturk)
+      </fix>
+      <fix>
+      <bug>36525</bug>: Solaris core dump. (mturk)
+      </fix>
+      <fix>
+      <bug>36102</bug>: Worker actions do not persist. (mturk)
+      </fix>
+      <fix>
+      <bug>35864</bug>: Status worker doesn't list workers.
+      Patch provided by Martin Goldhahn. (mturk)
+      </fix>
+      <fix>
+      <bug>35809</bug>: JkMountCopy don't work for Apache 2.0 Patch provided by
+       Christophe Dubach. (mturk)
+      </fix>
+      <fix>
+      <bug>35298</bug>: Multiple JK/ISAPI redirectors on a single IIS site are not supported
+       Patch provided by Tim Whittington. (mturk)
+      </fix>
+    </changelog>
+  </subsection>
+</section>
+<section name="Changes between 1.2.12 and 1.2.13">
+  <br />
+  <subsection name="Native">
+    <changelog>
+      <fix>
+      <bug>34397</bug>: Emergency was handled as Error. (jfclere)
+      </fix>
+      <fix>
+      <bug>34474</bug>: // in URL were not handled correctly with Apache-1.3. (jfclere)
+      </fix>
+      <fix>
+      Use 64 bits int for transferred/read bytes.
+      </fix>
+      <update>
+      Added JkOptions +FlushPackets used to optimize memory
+      usage when sending large data. (mturk)
+      </update>
+      <update>
+      Added lock directive for load balancer that allows more acurate
+      load balancing in case of burst load. (mturk)
+      </update>
+      <update>
+      Added worker.maintain directive to allow customizing default 10
+      second timeout. On busy servers this value needs to be set on
+      higher value. (mturk)
+      </update>
+      <fix>
+      Fix for NetWare compiler to deal with different types between AP13
+      and AP2 SDKs. (fuankg)
+      </fix>
+      <update>
+      Emit much more legible user.dmp crash analysis output for WIN32. (wrowe)
+      </update>
+     <fix>
+     <bug>34558</bug>: Fix first failover request. (mturk)
+     </fix>
+    </changelog>
+  </subsection>
+</section>
+
+<section name="Changes between 1.2.11 and 1.2.12">
+  <br />
+  <subsection name="Native">
+    <changelog>
+      <update>
+      Added ForwardLocallAddres JkOptions flag for passing local instead remote
+      address. Useful for remote addr valve. (mturk)
+      </update>
+     <fix>Fix that worker not used, when stopped flag is true. (pero)
+     </fix>
+      <update>
+      Add loadbalance default worker secret attribute to the documentation (pero)
+      </update>
+    </changelog>
+  </subsection>
+</section>
+
+<section name="Changes between 1.2.10 and 1.2.11">
+  <br />
+  <subsection name="Native">
+    <changelog>
+      <fix>Backport SC_M_JK_STORED from JK2 for passing arbitrary
+      methods instead failing the request. (mturk)
+      </fix>
+      <fix>Added missing SEARCH and ACL http methods. (mturk)
+      </fix>
+      <update>
+      Add worker secret attribute to the documentation (pero)
+      </update>
+      <update>
+      Add a stopped flag to worker configuration. Set flag True and
+      complete traffic to worker is stopped.
+      Also update the Ant JkStatusUpdateTask at Tomcat 5.5.10 release.
+      Only usefull in a replicated session cluster.(pero)
+      </update>
+      <update>Added worker maintain function that will maintain all
+      the workers instead just the current one. This enables to recycle
+      the connections on all workers. (mturk)
+      </update>
+      <update>Use shutdown when recycling connections instead hard
+      breaking the socket. (mturk)
+      </update>
+      <update>Add unique directives checking. The directives if
+      unique are now overwritten instead concatenated. (mturk)
+      </update>
+      <update>Allow multiple worker.list directives. (mturk)
+      </update>
+      <fix>
+      <bug>34577</bug>: For IIS log original request instead loging
+      the request for ISAPI extension. (mturk)
+      </fix>
+      <fix>
+      <bug>34558</bug>: Make sure the returned status codes are the same
+      for ajp and lb workers. (mturk)
+      </fix>
+      <fix>
+      <bug>34423</bug>: Use APR_USE_FLOCK_SERIALIZE for setting log lock
+      on platforms like FreeBSD. Patch provided by Allan Saddi. (mturk)
+      </fix>
+      <fix>
+      <bug>33843</bug>: Fix obtaining LDFLAGS that were used for building
+      Apache HTTPD. Patch provided by Beat Kneubuehl. (mturk)
+      </fix>
+      <fix>
+      <bug>34358</bug>: Enable load balancer method configuration. (glenn)
+      </fix>
+      <fix>
+      <bug>34357</bug>: In some situations Apache 2 mod_jk could segfault
+      when the JkAutoAlias directive is used. (glenn)
+      </fix>
+      <update>
+        Add --enable-prefork to the documentation (pero)
+      </update>
+    </changelog>
+  </subsection>
+</section>
+<section name="Changes between 1.2.9 and 1.2.10">
+  <br />
+  <subsection name="Native">
+    <changelog>
+      <update>Set default shared memory to 64K instead 1M. (mturk)
+      </update>
+      <fix>Do not mark the worker in error state if headers are
+      larger then AJP13 limit. (mturk)
+      </fix>
+      <update>
+      On Series you should use the latest PTF for Apache 2.0
+      (which is now 2.0.52) and ad minima SI17402/SI17061 or cumulative
+      including them. (hgomez)
+      </update>
+      <update>
+      Change the xml status format to xml attribute syntax (pero)
+      </update>
+      <fix>
+      <bug>33248</bug>: Fix builds where apxs defines multiple
+      directories for APR includes. (mturk)
+      </fix>
+      <fix>
+      <bug>32696</bug>: Return 404 instead 403 when WEB-INF is requested
+      to comply with Servlet spec. (mturk)
+      </fix>
+      <update>Added ANT task for managing jkstatus. (pero)
+      </update>
+      <update>
+      If socket_timeout is set, check if socket is alive before
+      sending any request to Tomcat. (mturk)
+      </update>
+      <update>
+      Added JkMountFile for Apache web servers. This file can contain
+      uri mappings in the form (/url=worker), and is checked for
+      updates at regular 60 second interval. (mturk)
+      </update>
+      <update>
+      Added status worker for managing worker runtime data using
+      web page. (mturk)
+      </update>
+      <update>
+      Added load balancer method directive that is used for setting
+      the algorithm used for balancing workers. Method can be either
+      Request (default) or Traffic. (mturk)
+      </update>
+      <update>
+      Added shared memory to allow dynamic configuration. Shared memory
+      is needed only for unix platform and web servers having multiple
+      child processes. For Apache web server two new directives has been
+      added (JkShmFile and JkShmSize). (mturk)
+      </update>
+      <update>
+      Added textupdate mode to status worker to handle remote updates
+      from ant tasks.(pero)
+      </update>
+      <fix>
+      <bug>33562</bug>: Fix Reply_timeout when recovery_options
+      is larger than 1. Patch provided by Takashi Satou. (mturk)
+      </fix>
+      <fix>
+      <bug>33308</bug>: Fix segfaults when ForwardDirectories is enabled
+        with Apache 1.3
+      </fix>
+    </changelog>
+  </subsection>
+</section>
+<section name="Changes between 1.2.7 and 1.2.8">
+  <br />
+  <subsection name="Native">
+    <changelog>
+      <update>
+      Allow anyone to debug and diagnose stack dumps using windbg or any
+      other debugging tool, and (if they add the .pdb files to their
+      installation) to make sense of dr watson logs.
+      Patch provided by William A. Rowe (wrowe)
+      </update>
+      <fix>
+      Fix in_addr_t usage by using the real struct ignoring typedef.
+      Patch provided by William A. Rowe (wrowe)
+      </fix>
+      <fix>
+      Fix url rewriting by restoring the in place uri from which the
+      jsessionid was removed. (mturk)
+      </fix>
+      <update>
+      Make load balancer algorithm thread safe by introducing mutex
+      to the load balancer worker. (mturk)
+      </update>
+      <fix>
+      Fix sending error pages for IIS to client by adding Content-Type header
+      using correct api function call. (mturk)
+      </fix>
+      <fix>
+      <bug>32696</bug>: Prevent IIS from crushing when web-inf url was requested. (mturk)
+      </fix>
+      <update>
+      Use default cachesize for servers that support discovering the number of
+      threads per child process. (mturk).
+      </update>
+      <fix>
+      Fix Apache content-length header parsing using case insensitive compare. (billbarker)
+      </fix>
+      <fix>
+      Fix parsing AJP headers using case insensitive compare. (mturk)
+      </fix>
+      <fix>
+      Use infinite socket timeout if socket_timeout is set to zero or less then zero. (mturk)
+      </fix>
+      <update>
+      Change <b>balanced_workers</b> to <b>balance_workers</b> but keep
+      backward compatibility preserving the old directive. (mturk).
+      </update>
+      <fix>
+      Fix ajp initialization for workers with cache_size set to zero. (mturk)
+      </fix>
+      <update>
+      <bug>32317</bug>: Making mod_jk replication aware (Clustering Support).
+      Patch provided by Rainer Jung. (mturk).
+      </update>
+      <fix>
+      <bug>31132</bug>: Core dump when JkLogFile is missing from conf. (mturk)
+      </fix>
+    </changelog>
+  </subsection>
+</section>
+<section name="Changes between 1.2.6 and 1.2.7">
+  <br />
+  <subsection name="Native">
+    <changelog>
+      <update>
+      Added new property named recover_time that can be used to change the
+      default 60 second recover time. (mturk)
+      </update>
+      <update>
+      Added custom retries for worker, so we don't depend on default setting.
+      If set to a number grater then 3, it will sleep for 100ms on retry greater
+      then 3 and then try again. (mturk)
+      </update>
+      <update>
+      Added JkWorkerProperty directive that enables omiting workers.properties file.
+      For example: JkWorkerProperty worker.ajp13a.port=8009. (mturk)
+      </update>
+      <fix>
+      Check all JSESSIONID cookies for a valid jvmRoute. If you have multiple Tomcats
+      with overlapping domains, then you can get multiple cookies without a defined order.
+      This will route correctly as long as the different domains don't have any
+      Tomcats in common. (billbarker)
+      </fix>
+      <update>
+      Added JkUnMount directive for negative mappings that works as opposite to JkMount directives.
+      It is used for blocking of particular URL or content type. (mturk)
+      </update>
+      <update>
+      Added wildchar match uri mappings. One can now use JkMount to
+      map /app/*/servlet/* or /app?/*/*.jsp. (mturk)
+      </update>
+      <update>
+      Rewrite the logging by adding Trace options. (mturk)
+      </update>
+      <update>
+      Added socket_timeout property that sets the timeout
+      for the socket itself. (mturk)
+      </update>
+      <fix>
+      Changed socket_timeout property to recycle_timeout. This better
+      explains what the directive actually does. (mturk)
+      </fix>
+      <fix>
+        Changed the load balancer algorithm.
+        The idea behind this new scheduler is the following:
+        lbfactor is <i>how much we expect this worker to work</i>,
+        or <i>the worker's work quota</i>.
+        lbstatus is <i>how urgent this worker has to work to fulfill its quota
+        of work</i>. We distribute each worker's work quota to the worker, and then look
+        which of them needs to work most urgently (biggest lbstatus).  This
+        worker is then selected for work, and its lbstatus reduced by the
+        total work quota we distributed to all workers.  Thus the sum of all
+        lbstatus does not change.(*)
+        If some workers are disabled, the others will
+        still be scheduled correctly. (mturk)
+      </fix>
+    </changelog>
+  </subsection>
+</section>
+<section name="JK 2">
+<p>JK2 has been put in maintainer mode and no further development will take place.
+The reason for shutting down JK2 development was the lack of developers interest.
+Other reason was lack of users interest in adopting JK2, caused by configuration
+complexity when compared to JK.
+</p>
+</section>
+
+</body>
+</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/doccontrib.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/doccontrib.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/doccontrib.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,339 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="doccontrib.html">
+
+  &project;
+<copyright>
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+</copyright>
+<properties>
+<title>How to Contribute to the Documentation</title>
+<author email="rsowders at usgs.gov">Robert Sowders</author>
+<date>$Date: 2006-11-27 18:55:39 -0700 (Mon, 27 Nov 2006) $</date>
+</properties>
+<body>
+<section name="Introduction">
+<p>
+    This document describes how you can easily contribute to the 
+documentation.  I'm going to try to make it easy for everyone to help out with 
+the documentation of Tomcat, more specifically the documentation for the 
+connectors.  This is written from a windows user perspective as I believe they 
+will most benefit from it.  For people using Unix it should be easy for them to 
+apply these steps.  Just substitute Unix syntax where needed.
+</p>
+<p>
+    The documentation is produced using xml with xsl style sheets.  This 
+effectivly seperates the content of the documents from the style, so all that 
+contributers need to worry about the content.  It is much easier to use than 
+html.
+</p>
+<p>
+    It's all really quite simple.  Here is what you will need:
+<ul>
+<li>
+<b>A recent version of Ant</b>
+</li>
+<li>
+<b>The source code for the connectors from subversion</b>
+</li>
+<li>
+<b>Any ascii text editor</b>
+</li>
+</ul>
+</p>
+</section>
+<section name="Getting Started Step by Step">
+<p>
+    After you get these tools they are simple to set up.
+</p>
+    <subsection name="STEP 1. Get Ant">
+<p>
+    Install <a href="http://ant.apache.org/">Ant</a>. The only advice I 
+have is to choose a simple installation path.  Now set an environment variable 
+for ANT_HOME, and then add the location of the Ant/bin directory to your PATH 
+variable.  Consult your Operating system documentation for information on how 
+to do this.  When you are finished verify that you can run ant from the command 
+line.
+</p>
+<p>
+    Ant is used to build the documentation, among other things, and it must be 
+able to see a file called <b>build.xml</b>.  This file is located in the 
+<b>SVN_HOME\tomcat\connectors\trunk\jk\xdocs</b> directory.  In the 
+<b>build.xml</b> file there is a target named <b>all</b> that will be used to build 
+the docs.
+</p>
+</subsection>
+<subsection name="STEP 2.  Get the sources">
+<p>
+    Get the sources for
+<a href="http://svn.apache.org/repos/asf/tomcat/connectors/">tomcat-connectors</a>
+from the subversion repository.  If you'll 
+be editing from a windows platform you will need a windows subversion client.  There 
+are several available.  I like <a href="http://tortoisesvn.tigris.org/">turtoiseSVN</a>.  
+Unix users should install the subversion client of their choice,
+if they don't already have one.
+</p>
+<p>
+    You are ready to download the sources now.  Change directory to the 
+location where you want your repository to be.  For simplicity we will call this 
+your <b>SVN_HOME</b>.  Mine is located in C:\build.
+</p>
+<p>
+    Run the following command to <b>checkout</b> the sources for the first time.
+You should only need to do this once.
+<screen>
+<read> </read>
+<read>C:\build\>svn checkout http://svn.apache.org/repos/asf/tomcat/connectors/
+tomcat-connectors</read>
+<read> </read>
+</screen>
+</p>
+<p>
+    You should now be watching all the downloads come in.  Now that you have 
+the sources on your machine the hard part is over.  From now on, to update your 
+sources all you have to do is cd into any directory in your repository and run 
+the <b>svn update</b> command.
+    <screen>
+<note>    To update your xdocs directory simply cd into the xdocs directory 
+and:</note>
+<read>C:\build\tomcat-connectors\jk\>cd xdocs</read>
+<read>C:\build\tomcat-connectors\jk\xdocs\>svn update</read>
+</screen>
+</p>
+</subsection>
+<subsection name="STEP 3.  Test your build environment">
+<p>
+    Open a command prompt window and cd to the directory where you downloaded 
+the source.  Now cd into the jk directory and then into the xdocs directory so
+that <b>Ant</b> can see the 
+<b>build.xml</b> file. Then from a command prompt, run the following:
+<screen>
+<read> </read>
+<read>C:\build\tomcat-connectors>cd jk</read>
+<read>C:\build\tomcat-connectors\jk>cd xdocs</read>
+<read>C:\build\tomcat-connectors\jk\xdocs>ant all</read>
+<read> </read>
+</screen>
+</p>.
+<p>
+    You should see the ant compiler messages scrolling by rapidly and then stop 
+with the following:
+<screen>
+<read>[style] Transforming into C:\build\tomcat-connectors\jk\build\docs\news\printer></read>
+<read>[style] Processing C:\build\tomcat-connectors\jk\xdocs\news\20041100.xml 
+to</read>
+<read>C:\build\tomcat-connectors\jk\build\docs\news/20041100.html</read>
+<read>[style] Loading stylesheet C:\build\tomcat-connectors\jk\xdocs\style.xsl</read>
+<read>[style] Processing C:\build\tomcat-connectors\jk\xdocs\news\20050101.xml 
+to</read>
+<read>C:\build\tomcat-connectors\jk\build\docs\news/20050101.html</read>
+<read>[style] Processing C:\build\tomcat-connectors\jk\xdocs\news\20060101.xml 
+to</read>
+<read>C:\build\tomcat-connectors\jk\build\docs\news/20060101.html</read>
+<read>[style] Transforming into C:\build\tomcat-connectors\jk\build\docs></read>
+<read>[style] Processing C:\build\tomcat-connectors\jk\xdocs\index.xml 
+to</read>
+<read>C:\build\tomcat-connectors\jk\build\docs\index.html</read>
+<read>[style] Loading stylesheet C:\build\tomcat-connectors\jk\xdocs\style.xsl</read>
+<read> </read>
+<read>BUILD SUCCESSFUL</read>
+<read>Total time: 10 seconds</read>
+<read>C:\build\tomcat-connectors\jk></read>
+</screen>
+</p>
+<p>
+    All the xml files present in the xdocs directory structure were transformed 
+to html and copied to the <b>SVN_HOME\tomcat-connectors\jk\build\docs</b>
+directory.  Open one of the 
+html files in your browser and see how it looks.
+</p>
+</subsection>
+<subsection name="STEP 4.   The editing process.">
+<p>
+    I find it easier to use two windows while doing my updates.  One I call my 
+<b>build</b> window.  I keep this one in the <b>SVN_HOME\tomcat-connectors\jk\xdocs</b>
+directory and I only run two commands in this window:
+<screen>
+<read> </read>
+<note>   First I run</note>
+<read>ant clean</read>
+<note>   Then I run</note>
+<read>ant all</read>
+<read> </read>
+</screen>
+</p>
+<p>
+    My second window I call my <b>edit</b> window and I keep that one in the 
+<b>SVN_HOME\tomcat-connectors\jk\xdocs</b> directory where I'm doing my
+edits, diffs and svn updates.
+</p>
+<p>
+    Before you start editing you should always update your local repository to 
+prevent conflicts.
+<screen>
+<note>    You only need to update the xdocs directory</note>
+<read>C:\build\tomcat-connectors\jk>cd xdocs</read>
+<read>C:\build\tomcat-connectors\jk\xdocs></read>
+<read>C:\build\tomcat-connectors\jk\xdocs>svn update</read>
+</screen>
+</p>
+<p>
+    Now that your repository is up to date you can begin editing.  Find 
+something in the documentation to edit.  When you find something remember the 
+name of the file.  In your <b>edit</b> window find and edit the xml source file 
+with the same name.  After you are done return to the  <b>build</b> window, and 
+in the <b>SVN_HOME\tomcat-connectors\jk\xdocs</b> directory run:
+<screen>
+<read> </read>
+<read>C:\build\tomcat-connectors\jk\xdocs> ant clean</read>
+<read> </read>
+</screen>
+</p>
+<p>
+    This will delete all the previous html files and make the area ready for 
+updated material.  Now to make fresh documents that incorporate your changes 
+run:
+<screen>
+<read> </read>
+<read>C:\build\tomcat-connectors\jk\xdocs>ant all</read>
+<read> </read>
+</screen>
+</p>
+<p>
+    Use your browser to view the edits you just made, they will be in the 
+<b>SVN_HOME\tomcat-connectors\jk\build\docs</b> sub-tree.  If it looks
+good and is ready to go, 
+all that is left to do is to create a patch and submit it.
+</p>
+</subsection>
+<subsection name="STEP 5.  Creating a patch and submitting it.">
+<p>
+    From your <b>edit</b> window cd into the directory that contains the xml 
+file you are working on, and run the <b>svn update</b> command.  For example, 
+to produce a diff of the index.xml file and call it patch.txt, you 
+would cd into the directory containing the index.xml file and:
+<screen>
+<read>C:\build\tomcat-connectors\jk\xdocs\>svn diff index.xml >  
+patch.txt.</read>
+<read> </read>
+</screen>
+</p>
+<p>
+    Now that you have your patch you are ready to send it in.
+</p>
+<p>
+    Patches to the documentation are handled just like a bug report.  You 
+should submit your patches to <a 
+href="http://issues.apache.org/bugzilla/">http://issues.apache.org/bugzilla/</a>
+ and include a good one line subject.  If this is your first time to use the 
+bug database then you should read  <a 
+href="http://issues.apache.org/bugzilla/bugwritinghelp.html">http://issues.apach
+e.org/bugzilla/bugwritinghelp.html.</a>  You will need to create a user 
+account.  At the web site paste your patch into the web form and don't forget 
+to describe what it is your patch is for.  Sooner or later a someone with 
+commit privileges will review your suggestion.
+</p>
+</subsection>
+</section>
+<section name="Subversion Basics">
+<p>
+    After you have checked out the sources the first time it is much easier to 
+use subversion.  You can cd into any directory of the repository and run <b>svn 
+update</b> to get the latest sources for that directory.  For editing 
+purposes you should always update your repository before you start editing to 
+reduce conflicts.
+</p>
+<p>
+    You will need to run <b>svn diff</b> to generate patches for submission.  
+Again cd into the directory containing the file you are editing and run <b>svn 
+diff name_of_the_file_you_edited > patch.txt</b> to generate a patch for 
+submission.
+</p>
+<p>
+    Pay attention to the terminal window during the update.
+</p>
+<p>
+    Lines begining with a <b>A</b> indicate files that have been added.
+</p>
+<p>
+    Lines begining with a <b>D</b> indicate files that have been deleted.
+</p>
+<p>
+    Lines begining with a <b>U</b> mean the local copy was patched to update it 
+to the current version in the master repository.
+</p>
+<p>
+    Lines begining with a <b>G</b> mean your local copy is different from the 
+master copy, and the changes were successfully merged into your copy.
+</p>
+<p>
+    Lines begining with a <b>C</b> mean there was a conflict in merging the 
+changes and you need to review the file and merge the changes manually.  Search 
+for  >>>> and merge the changes.
+</p>
+<p>
+    Lines begining with a <b>?</b> indicate files that reside on your local 
+system which are not part of the repository.  You will normally see this when 
+you are creating new files for submission.
+</p>
+</section>
+
+<section name="Updating Web site">
+<p>
+    Only Committers are able to update the web site (http://tomcat.apache.org/connectors-doc/).
+    To do it:
+    <ul>
+    <li>Connect to people.apache.org.</li>
+    <li>umask 002</li>
+    <li>Copy the changed files to /www/tomcat.apache.org/connectors-doc/.</li>
+    <li>or use ant from a checkout tomcat/connectors/jk/xdocs repository:<br />
+        ant -Dbuild.dir=/www/tomcat.apache.org -Ddist.name=connectors-doc 
+    </li>
+    <li>The changes need around 4 hours to be synced to tomcat.apache.org.</li>
+    </ul>
+</p>
+</section>
+<section name="Guides and Resources">
+<p>
+    A little help to get you started if you need it
+</p>
+<ul>
+<li>
+<a href="http://www.xml.org/xml/resources_focus_beginnerguide.shtml">XML 
+Beginner's Guide</a>
+</li>
+<li>
+<a href="http://issues.apache.org/bugzilla/">Bugzilla</a>
+</li>
+<li>
+<a href="http://issues.apache.org/bugzilla/bugwritinghelp.html">Bugzilla Bug 
+Writing Guide</a>
+</li>
+<li>
+<a href="http://ant.apache.org/">Ant</a>
+</li>
+<li>
+<a href="http://subversion.tigris.org/">Subversion Home</a>
+</li>
+<li>
+<a href="http://svn.apache.org/repos/asf/tomcat/connectors/jk/xdocs/">JK Docs repository</a>
+</li>
+</ul>
+</section>
+</body>
+</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/faq.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/faq.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/faq.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,322 @@
+<?xml version="1.0"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="faq.html">
+
+  &project;
+<copyright>
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+</copyright>
+<properties>
+<title>FAQ</title>
+<author email="hgomez at apache.org">Henri Gomez</author>
+<date>$Date: 2006-12-06 07:20:35 -0700 (Wed, 06 Dec 2006) $</date>
+</properties>
+<body>
+<section name="General">
+<p>
+General Informations and FAQ about JK
+</p>
+<subsection name="Where can I get help/support for JK ?">
+<p>
+The primary mechanism for support is through the JK 
+documentation included in the doc directory.
+Documentation is also available on the Apache Tomcat web site devoted to the
+<a href="http://tomcat.apache.org/connectors-doc/">
+Apache Tomcat Connectors Project</a>
+For additional help, the best resource is the Tomcat Users Discussion list.  
+You should start by searching
+<a href="http://mail-archives.apache.org/mod_mbox/tomcat-users/">
+the mail list archive</a>
+before you post questions to the list.  
+If you are unable to locate the answer to your question in the archive, 
+you can post questions about JK to the user list for assistance.  
+Make sure that you include the version of your Webserver, 
+that you are using as well as the platform you are running on
+and go 
+<a href="http://tomcat.apache.org/lists.html">
+here</a>
+to determine how to subscribe to tomcat mailing list.
+</p>
+</subsection>
+
+<subsection name="I can't find JK anywhere. Where is it?">
+<p>
+Now that JK moved to the <b>tomcat-connectors</b> repository, 
+the source and the binaries for JK can be downloaded from a mirror at the
+<a href="http://tomcat.apache.org/download-connectors.cgi">
+Tomcat Connectors (mod_jk, mod_jk2) Downloads</a> page.
+</p>
+</subsection>
+
+<subsection name="What's the difference between JK and mod_jk ?">
+<br />
+<p>
+<b>JK</b> is a project covering web-servers to Tomcat connectors,
+whereas <b>mod_jk</b> is the <a href="../webserver_howto/apache.html">Apache module</a> developed in JK.
+</p>
+
+<p>
+<a href="../webserver_howto/iis.html">IIS webserver</a>support is implemented on JK, using a redirector
+called <b>isapi redirector</b>.
+</p>
+
+<p>
+<a href="../webserver_howto/nes.html">Netscape/SunONE/Sun webserver</a>webserver support is implemented on JK, using a redirector
+called <b>nsapi redirector</b>.
+</p>
+
+</subsection>
+
+<subsection name="Where can I get more information ?">
+<p>
+For <b>JK 1.2.x</b>, you should read :
+</p>
+
+<ul>
+
+<li>
+<a href="../generic_howto/quick.html">For the impatient</a>
+</li>
+
+<li>
+<a href="../webserver_howto/apache.html">Apache and JK</a>
+</li>
+
+<li>
+<a href="../webserver_howto/iis.html">IIS and JK</a>
+</li>
+
+<li>
+<a href="../webserver_howto/nes.html">Netscape/SunONE/Sun and JK</a>
+</li>
+
+<li>
+<a href="../generic_howto/workers.html">Workers configuration</a>
+</li>
+</ul>
+
+<p> 
+For more detailed information, have a look at the Reference Guide.
+You could also try searching the mailing list archives for "JK" or look at the source.
+</p>
+</subsection>
+
+<subsection name="Which protocol should I use? Ajp12 or Ajp13?">
+<p>
+<a href="../ajp/ajpv13a.html">Ajp13</a> is a newer protocol, it's faster, and it works better with SSL. 
+You almost certainly want to use it now that <strong>ajp12 is deprecated</strong>.
+</p>
+<p> 
+Also ajp13 is supported by all Apache Tomcat including 3.2.x , 3.3.x, 4.0.x, 4.1.x, 5.0.x, 5.5.x
+and the new tomcat 6. 
+</p>
+
+<p>
+Others Servlet engines like <b>jetty</b> have support for Ajp13.
+</p>
+</subsection>
+
+<subsection name="I've got a firewall between my web server and Tomcat which drops ajp13 connections after some time">
+<p>
+Ajp13 uses persistant connections where the traffic could be null if there is no request to be sent to Tomcat. 
+Firewalls use to drop inactive connections and will make your web server and Tomcat think the connection is valid. 
+</p>
+<p>
+Starting with JK 1.2.0, a <b>socket_keepalive</b> property as been added to ajp13 settings, and you should take a look at 
+it in <a href="../generic_howto/workers.html">Workers HowTo</a> and
+<a href="../reference/workers.html">workers.properties reference</a>.
+If nothing else helps, you can try <b>JkOptions +DisableReuse</b>, but this will have strong performance implications.
+</p>
+</subsection>
+
+<subsection name="Under heavy load, I've got many threads in Tomcat even if my Apache Web Server handles much of the load">
+<p>
+Under heavy load, Apache Web Server creates many children to handle the load,
+which will in turn create many connections 
+to Tomcat to forward the requests they should handle. 
+Apache Web Server will normally kill the children/threads when the load decreases.
+But if the load is still there and even if only Apache handles the requests,
+ie static contents, the children are kept and with them all the ajp13 connections, 
+even if they are no more used. 
+</p>
+<p>
+To close connections after some time of inactivity you can use <b>connection_pool_timeout</b>,
+for more informations refer to <a href="../reference/workers.html">workers.properties reference</a>.
+</p>
+</subsection>
+
+</section>
+
+<section name="Apache">
+<p>
+Informations and FAQ about mod_jk and Apache Web Servers. 
+</p>
+<subsection name="Whenever I restart Tomcat, Apache locks up!">
+<p>
+The Ajp13 protocol keeps an open socket between Tomcat and Apache.
+Release of mod_jk present in J-T-C handles the network failure. 
+But with very ancient releases of mod_jk, you may have to restart Apache as well.
+</p>
+</subsection>
+
+<subsection name="Why do there exist two files mod_jk.so (-eapi ad -noeapi) in download directories for Apache 1.3?">
+<p>
+Many versions of Apache use a modified API, known at Extended API, developed for use with the
+<a href="http://www.modssl.org">mod_ssl module</a>. Starting with Apache 2.0 there is no more difference.
+</p>
+
+<p>
+For example, Apache 1.3 present in certains recent Linux distributions include the
+<b>mod_ssl</b> module.
+</p>
+
+<p>
+So if you got such 'Extended Apache', you need to use <b>mod_jk.so-eapi</b>.
+</p>
+
+<p> 
+You should use <b>mod_jk.so-noeapi</b> only for 'Standard Apache' (ie without mod_ssl).
+</p>
+
+<p>
+It's wise to avoid using EAPI modules on STD API Apache or to use standard API modules on EAPI Apache. 
+Allways be sure to have the <b>mod_jk.so</b> witch match your version of Apache
+</p>
+</subsection>
+
+<subsection name="What's that message about 'garbled DSO ?'">
+<p>
+It's related to Apache EAPI, the message <code>'mod_jk.so is garbled - perhaps this is not an Apache module DSO ?'</code> 
+just told you, that your're trying to install a mod_jk.so DSO module that was compiled on an Apache using EAPI, 
+like apache-mod_ssl or apache from Redhat distro 6.2/7.0 but your system use the standard apache with normal API.
+</p>
+</subsection>
+
+<subsection name="And the message about 'module might crash under EAPI!">
+<p>
+Also related to EAPI, the message <code>'[warn] Loaded DSO /usr/lib/apache/mod_jk.so uses plain Apache 1.3 API, 
+this module might crash under EAPI! (please recompile it with -DEAPI)'</code>, the mod_jk.so was compiled under normal 
+Apache with standard API and you try to install the module on an Apache using EAPI.
+</p>
+</subsection>
+
+<subsection name="APXS is getting an error during the build of mod_jk, like rc=0 or rc=255.  I tried all of the steps in the build section, what do I do now ?">
+<p>
+APXS is a Perl script that is created when you build the Apache web server from source.  
+Chances are that if you are getting these errors and you obtained Apache as a binary distribution, 
+that APXS is not configured correctly for your system.  
+Your best bet is to get the Apache source from http://httpd.apache.org and build it yourself.  
+Use the following for a basic build (read the Apache docs for other options):
+<screen>
+<type>cd /usr/local/src</type><br/>
+<type>gzip -dc apache_1.3.19.tar.gz|tar xvf -</type><br/>
+<type>cd apache_1.3.19</type><br/>
+<type>./configure --prefix=/usr/local/apache \</type><br/>
+<type>            --enable-module=most \</type><br/>
+<type>            --enable-shared=max</type><br/>
+<type>make</type><br/>
+<type>make install</type><br/>
+</screen>
+</p>
+<p>
+Note: The above steps assume that you downloaded the Apache source and placed it in your /usr/local/src directory.
+</p>
+</subsection>
+
+<subsection name="Apache 2.0 complains about incorrect module version">
+<p>
+Since Apache 2.0 API still change often, the Apache 2.0 teams decide to put in headers of compiled modules the 
+Apache 2.0 version used to compile the module. This check is called Magic Module Number bump.
+</p>
+<p>
+At start time Apache 2.0 check that version in modules headers and stop if it detect that a module was compiled 
+for another Apache 2.0 version. As such you should allways use modules compiled for the same Apache 2.0 version. 
+This check may be removed if the future.
+</p>
+</subsection>
+
+<subsection name="Does it work for Apache 2.2?">
+<p>
+mod_jk works well with Apache 2.2. You need a binary module compiled for version 2.2 of the Apache web server.
+A binary compiled for version 2.0 will not work.
+</p>
+<p>
+Important parts of the functionality of mod_jk have been reimplemented as Apache httpd modules mod_proxy_ajp
+and mod_proxy_balancer. These are part of the standard distributoin of Apache 2.2. The new modules do not contain
+all features of mod_jk, but you get them automatically with every Apache 2.2.
+</p>
+</subsection>
+
+<subsection name="JNI doesn't work with Apache 1.3">
+<p>
+JNI support requires a multi-threaded environment which is not the general case for Apache 1.3. 
+You should verify if Apache 1.3 has been build with thread support and if not you could add the 
+the pthreads library to your <b>httpd.conf</b> file. 
+</p>
+
+<source>
+  # Add pthread to Apache in httpd.conf
+  LoadModule "/usr/lib/libpthreads.so"
+</source>
+
+<p>
+Also keep in mind that JNI is suited for multi-threaded servers and you should consider upgrading 
+to Apache 2.x to support JNI.
+</p>
+</subsection>
+
+<subsection name="JNI report that JVM couldn't be started under Linux">
+<p>
+Under Linux, you should set some environment variables BEFORE launching your Apache server :
+</p>
+
+<screen>
+<read>export LD_LIBRARY_PATH=$jre/bin:$jre/bin/classic:$LD_LIBRARY_PATH</read>
+</screen>
+
+<p>
+Also some Linux distributions have enabled a GLIBC feature called 'floating stacks' which may not works with kernel 
+less than 2.4.10 on SMP machines. You should disable floating stacks by exporting an environment variable :
+</p>
+
+<screen>
+<read>export LD_ASSUME_KERNEL=2.2.5</read>
+</screen>
+
+<p>
+You could have to update your service scripts, ie <b>/etc/rc.d/init.d/httpd</b>, to set these env vars 
+before your httpd server starts.
+</p>
+</subsection>
+
+<subsection name="Mixed errors when building via configure">
+<p>
+configure assume you have some GNU tools already installed and configured for your system, and ad minima <b>libtool</b>.
+</p>
+<p>
+Also some systems may have mixed cc and gcc setup which may make you puzzled when trying to link an Apache built with native
+c compiler with a jk/jk2 build with gcc.
+</p>
+<p>
+In case the make processing doesn't work as expected, you should use a GNU make <b>gmake</b>.
+</p>
+</subsection>
+
+</section>
+</body>
+</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/jkstatustasks.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/jkstatustasks.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/jkstatustasks.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="jkstatustasks.html">
+ 
+  &project;
+
+<copyright>
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+</copyright>
+
+<properties>
+<title>Status Worker Ant Tasks</title>
+<author>Peter Rossbach</author>
+<date>$Date: 2007-01-27 08:59:41 -0700 (Sat, 27 Jan 2007) $</date>
+</properties>
+
+<body>
+
+<section name="Introduction">
+<p>Since version 1.2.19 the JK release contains additional ant tasks.
+They can be used to manage the JK web server plugins via the special status worker.
+</p>
+</section>
+
+<section name="Manage JK with remote Ant Tasks">
+
+<subsection name="Simple antlib integration">
+<p>
+<source>
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+
+&lt;project name="modjk-status" 
+         xmlns:jk="urn:org-apache-jk-status"
+         default="status" basedir="."&gt;
+
+	&lt;property name="profile" value=""/&gt;
+	&lt;property file="jkstatus${profile}.properties"/&gt;
+	&lt;property file="jkstatus.properties.default"/&gt;
+
+    &lt;path id="jkstatus.classpath"&gt;
+      &lt;pathelement location="${catalina.home}/bin/commons-logging-api.jar"/&gt;
+      &lt;pathelement location="${catalina.home}/server/lib/catalina-ant.jar"/&gt;
+      &lt;pathelement location="../dist/tomcat-jkstatus-ant.jar"/&gt;
+      &lt;pathelement location="${catalina.home}/server/lib/tomcat-util.jar"/&gt;
+    &lt;/path&gt;
+
+    &lt;typedef resource="org/apache/jk/status/antlib.xml"       
+           uri="urn:org-apache-jk-status" classpathref="jkstatus.classpath"/&gt; 
+           
+    &lt;target name="status" &gt;       
+ 	    &lt;jk:status url="${jkstatus.url}" 
+	                username="${jkstatus.username}"
+	                password="${jkstatus.password}"
+	                resultproperty="worker"
+	      	        echo="off"
+	                failOnError="off"/&gt;
+	    &lt;echoproperties prefix="worker" /&gt;
+    &lt;/target&gt;
+&lt;/project&gt;    
+</source>
+</p>
+</subsection>
+
+<subsection name="Test Result">
+<p>
+<source>
+[echoproperties] #Ant properties
+[echoproperties] #Sun Dec 10 20:40:21 CET 2006
+[echoproperties] worker.node01.lbmult=1
+[echoproperties] worker.loadbalancer.lock=Optimistic
+[echoproperties] worker.node02.transferred=0
+[echoproperties] worker.loadbalancer.sticky_session=false
+[echoproperties] worker.node01.distance=0
+[echoproperties] worker.node01.client_errors=0
+[echoproperties] worker.node02.lbmult=1
+[echoproperties] worker.node01.port=7309
+[echoproperties] worker.node01.elected=0
+[echoproperties] worker.loadbalancer.good=2
+[echoproperties] worker.loadbalancer.method=Sessions
+[echoproperties] worker.server.port=2090
+[echoproperties] worker.loadbalancer.map.2.type=Wildchar
+[echoproperties] worker.node02.route=node02
+[echoproperties] worker.node01.route=node01
+[echoproperties] worker.node01.lbvalue=0
+[echoproperties] worker.node01.lbfactor=1
+[echoproperties] worker.node01.max_busy=0
+[echoproperties] worker.node01.busy=0
+[echoproperties] worker.node01.redirect=
+[echoproperties] worker.node02.distance=0
+[echoproperties] worker.loadbalancer.name=loadbalancer
+[echoproperties] worker.loadbalancer.sticky_session_force=false
+[echoproperties] worker.node02.state=N/A
+[echoproperties] worker.node01.state=N/A
+[echoproperties] worker.node01.transferred=0
+[echoproperties] worker.loadbalancer.map.length=2
+[echoproperties] worker.node01.type=ajp13
+[echoproperties] worker.node01.address=127.0.0.1\:7309
+[echoproperties] worker.result.type=OK
+[echoproperties] worker.loadbalancer.member_count=2
+[echoproperties] worker.loadbalancer.map_count=2
+[echoproperties] worker.loadbalancer.mtime_to_maintenance_min=12
+[echoproperties] worker.loadbalancer.mtime_to_maintenance_max=75
+[echoproperties] worker.node02.lbfactor=1
+[echoproperties] worker.node02.max_busy=0
+[echoproperties] worker.jk_version=mod_jk/1.2.21-dev
+[echoproperties] worker.loadbalancer.bad=0
+[echoproperties] worker.node02.redirect=
+[echoproperties] worker.node01.host=localhost
+[echoproperties] worker.node02.activation=ACT
+[echoproperties] worker.loadbalancer.map.1.source=JkMount
+[echoproperties] worker.loadbalancer.retries=2
+[echoproperties] worker.node02.elected=0
+[echoproperties] worker.loadbalancer.map.2.source=JkMount
+[echoproperties] worker.node02.port=7409
+[echoproperties] worker.loadbalancer.length=2
+[echoproperties] worker.node02.lbvalue=0
+[echoproperties] worker.loadbalancer.degraded=0
+[echoproperties] worker.loadbalancer.map.1.type=Wildchar
+[echoproperties] worker.loadbalancer.map.2.uri=/myapps*
+[echoproperties] worker.node02.client_errors=0
+[echoproperties] worker.length=1
+[echoproperties] worker.node01.domain=d20
+[echoproperties] worker.loadbalancer.recover_time=60
+[echoproperties] worker.server.name=localhost
+[echoproperties] worker.node02.domain=
+[echoproperties] worker.result.message=Action finished
+[echoproperties] worker.node02.busy=0
+[echoproperties] worker.node01.readed=0
+[echoproperties] worker.node01.errors=0
+[echoproperties] worker.node02.address=127.0.0.1\:7409
+[echoproperties] worker.node02.readed=0
+[echoproperties] worker.loadbalancer.busy=0
+[echoproperties] worker.web_server=Apache/2.0.59 (Unix) mod_jk/1.2.21-dev
+[echoproperties] worker.node02.errors=0
+[echoproperties] worker.node02.type=ajp13
+[echoproperties] worker.loadbalancer.map.1.uri=/ClusterTest*
+[echoproperties] worker.node01.activation=ACT
+[echoproperties] worker.loadbalancer.max_busy=0
+[echoproperties] worker.loadbalancer.type=lb
+[echoproperties] worker.node02.host=localhost
+</source>
+</p>
+</subsection>
+
+<subsection name="Update Load Balancer">
+<p>
+<source>
+     &lt;target name="updatelb" &gt;       
+ 	    &lt;jk:updateloadbalancer url="${jkstatus.url}" 
+	                username="${jkstatus.username}"
+	                password="${jkstatus.password}"
+	                loadbalancer="loadbalancer"
+	                method="Busyness"
+	                retries="2"
+	                recoverWaitTime="60"
+	                lock="Optimistic"
+	                forceStickySession="false"
+	                stickySession="false"/&gt;
+     &lt;/target&gt;
+</source>
+</p>
+</subsection>
+
+<subsection name="Update Worker">
+<p>
+<source>
+     &lt;target name="updatew" &gt;       
+ 	    &lt;jk:updateworker url="${jkstatus.url}" 
+	                username="${jkstatus.username}"
+	                password="${jkstatus.password}"
+	                loadbalancer="loadbalancer"
+	      	        worker="node01"
+	                lbfactor="2"
+	                activation="Active"
+	                redirect=""
+	                domain=""
+	                route="node01"
+	                distance="0"/&gt;
+     &lt;/target&gt;
+</source>
+</p>
+</subsection>
+
+<subsection name="Reset Worker">
+<p>
+<source>
+     &lt;target name="reset" &gt;       
+ 	    &lt;jk:reset url="${jkstatus.url}" 
+	                username="${jkstatus.username}"
+	                password="${jkstatus.password}"
+	                loadbalancer="loadbalancer"
+	      	        worker="node01"
+	                /&gt;
+     &lt;/target&gt;
+</source>
+</p>
+</subsection>
+
+</section>
+</body>
+</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/project.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/project.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/project.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="Apache Tomcat Connector Documentation - Miscellaneous Documentation"
+        href="http://tomcat.apache.org/">
+
+    <title>The Apache Tomcat Connector - Miscellaneous Documentation</title>
+
+    <logo href="/images/tomcat.gif">
+      The Apache Tomcat Connector - Miscellaneous Documentation
+    </logo>
+<body>
+
+    <menu name="Links">
+        <item name="Docs Home"                  href="../index.html"/>
+    </menu>
+
+    <menu name="Reference Guide">
+        <item name="workers.properties"         href="../reference/workers.html"/>
+        <item name="uriworkermap.properties"    href="../reference/uriworkermap.html"/>
+        <item name="Status Worker"              href="../reference/status.html"/>
+        <item name="Apache"                     href="../reference/apache.html"/>
+        <item name="IIS"                        href="../reference/iis.html"/>
+    </menu>
+
+    <menu name="Generic HowTo">
+        <item name="For the impatient"          href="../generic_howto/quick.html"/>
+        <item name="All about workers"          href="../generic_howto/workers.html"/>
+        <item name="Load Balancing"             href="../generic_howto/loadbalancers.html"/>
+    </menu>
+
+    <menu name="Webserver HowTo">
+        <item name="Apache"                     href="../webserver_howto/apache.html"/>
+        <item name="IIS"                        href="../webserver_howto/iis.html"/>
+        <item name="Netscape/SunOne/Sun"        href="../webserver_howto/nes.html"/>
+    </menu>
+
+    <menu name="AJP Protocol Reference">
+        <item name="AJPv13"                     href="../ajp/ajpv13a.html"/>
+        <item name="AJPv13 Extension Proposal"  href="../ajp/ajpv13ext.html"/>
+    </menu>
+
+    <menu name="Miscellaneous Documentation">
+        <item name="Frequently asked questions" href="../miscellaneous/faq.html"/>
+        <item name="Changelog"                  href="../miscellaneous/changelog.html"/>
+        <item name="Current Native:JK bugs"     href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Tomcat+5&amp;component=Native%3AJK&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=&amp;emailassigned_to2=1&amp;emailreporter2=1&amp;emailcc2=1&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0="/>
+        <item name="Contribute documentation"   href="../miscellaneous/doccontrib.html"/>
+        <item name="JK Status Ant Tasks"        href="../miscellaneous/jkstatustasks.html"/>
+        <item name="Reporting Tools"            href="../miscellaneous/reporttools.html"/>
+        <item name="Old JK/JK2 documentation"   href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html"/>
+    </menu>
+
+    <menu name="News">
+        <item name="2006"                       href="../news/20060101.html"/>
+        <item name="2005"                       href="../news/20050101.html"/>
+        <item name="2004"                       href="../news/20041100.html"/>
+    </menu>
+
+</body>
+</project>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/reporttools.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/reporttools.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous/reporttools.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,91 @@
+<?xml version="1.0"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="reporttools.html">
+ 
+  &project;
+<copyright>
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+</copyright>
+<properties>
+<title>Reporting Tools</title>
+<author>Glenn Nielsen</author>
+<date>$Date: 2006-12-10 13:45:23 -0700 (Sun, 10 Dec 2006) $</date>
+</properties>
+<body>
+<section name="Reporting Tools">
+<p>
+The mod_jk source distribution contains two perl scripts in the
+jk/tools/reports directory which can be used to analyze the mod_jk
+logs, save statistical data, and generate report graphs.
+</p>
+
+<p><code>tomcat_trend.pl log_dir archive_dir</code></p>
+<p>
+Script for analyzing mod_jk.log data when logging tomcat request data using
+the <code>JkRequestLogFormat</code> Apache mod_jk configuration.
+Generates statistics for request latency and errors.  Archives the generated
+data to files for later use in long term trend graphs and reports.
+</p>
+
+<p><code>tomcat_reports.pl archive_dir reports_dir</code></p>
+<p>
+Script for generating reports and graphs using statistical data generated
+by the <code>tomcat_trend.pl</code> script.
+
+The following graphs are created:
+<ul>
+  <li>tomcat_request.png - Long term trend graph of total number of tomcat
+    requests handled.</li>
+  <li>tomcat_median.png - Long term overall trend graph of tomcat request
+    latency median.</li>
+  <li>tomcat_deviation.png - Long term overall trend graph of tomcat request
+    mean and standard deviation.</li>
+  <li>tomcat_error.png - Long term trend graph of requests rejected by tomcat.
+    Shows requests rejected when tomcat has no request processors available.
+    Can be an indicator that tomcat is overloaded or having other scaling
+    problems.</li>
+  <li>tomcat_client.png - Long term trend graph of requests forward to tomcat
+    which were aborted by the remote client (browser).  You will normally see
+    some aborted requests.  High numbers of these can be an indicator that
+    tomcat is overloaded or there are requests which have very high latency.</li>
+</ul>
+</p>
+
+<p>
+A great deal of statistical data is generated but at this time
+only long term trend graphs are being created and no reports.
+This is only a start.  Many more graphs and reports could be
+generated from the data. Please consider contributing back any
+new reports or graphs you create.  Thanks.
+</p>
+
+<p>
+These perl scripts depend upon the following perl modules and libraries:
+<ul>
+  <li>GD 1.8.x graphics library <a href="http://www.boutell.com/gd/">
+    http://www.boutell.com/gd/</a></li>
+  <li>GD 1.4.x perl module</li>
+  <li>GD Graph perl module</li>
+  <li>GD TextUtil perl module</li>
+  <li>StatisticsDescriptive perl module</li>
+</ul>
+</p>
+</section>
+
+</body>
+</document>

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20041100.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20041100.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20041100.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
 of Jakarta Tomcat Connectors 1.2.8.
 </p>
 <p>
- Please see the <a href="../changelog.html">ChangeLog</a> for a full list of changes.
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
 </p>
 <p>If you find any bugs during testing this release, please fill in the
 <a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
@@ -45,7 +45,7 @@
 in the next week.
 </p>
 <p>
- Please see the <a href="../changelog.html">ChangeLog</a> for a full list of changes.
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
 </p>
 <p>If you find any bugs during testing this release, please fill in the
 <a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
@@ -64,7 +64,7 @@
 in the next week.
 </p>
 <p>
- Please see the <a href="../changelog.html">ChangeLog</a> for a full list of changes.
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
 </p>
 <p>If you find any bugs during testing this release, please fill in the
 <a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
@@ -84,7 +84,7 @@
 in the next two weeks.
 </p>
 <p>
- Please see the <a href="../changelog.html">ChangeLog</a> for a full list of changes.
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
 </p>
 <p>If you find any bugs during testing this release, please fill in the
 <a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
@@ -104,7 +104,7 @@
 in the next two weeks.
 </p>
 <p>
- Please see the <a href="../changelog.html">ChangeLog</a> for a full list of changes.
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
 </p>
 <warn>
 Since release 1.2.7 the <b>socket_timeout</b> property has been renamed to

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20050101.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20050101.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20050101.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -28,7 +28,7 @@
 few bug fixes found in 1.2.14 version.
 </p>
 <p>
- Please see the <a href="../changelog.html">ChangeLog</a> for a full list of changes.
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
 </p>
 <p>If you find any bugs while using this release, please fill in the
 <a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
@@ -44,7 +44,7 @@
 few bug fixes found in 1.2.13 version.
 </p>
 <p>
- Please see the <a href="../changelog.html">ChangeLog</a> for a full list of changes.
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
 </p>
 <p>If you find any bugs while using this release, please fill in the
 <a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
@@ -59,7 +59,7 @@
 few bug fixes found in 1.2.12 version.
 </p>
 <p>
- Please see the <a href="../changelog.html">ChangeLog</a> for a full list of changes.
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
 </p>
 <p>If you find any bugs while using this release, please fill in the
 <a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
@@ -78,7 +78,7 @@
 in the next week.
 </p>
 <p>
- Please see the <a href="../changelog.html">ChangeLog</a> for a full list of changes.
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
 </p>
 <p>If you find any bugs while using this release, please fill in the
 <a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
@@ -96,7 +96,7 @@
 This version has not been released.
 </p>
 <p>
- Please see the <a href="../changelog.html">ChangeLog</a> for a full list of changes.
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
 </p>
 <p>If you find any bugs while using this release, please fill in the
 <a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
@@ -115,7 +115,7 @@
 in the next two weeks.
 </p>
 <p>
- Please see the <a href="../changelog.html">ChangeLog</a> for a full list of changes.
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
 </p>
 <warn>
 Since release 1.2.10 the <b>JkShmFile</b> property has been added for
@@ -139,7 +139,7 @@
 in the next two weeks.
 </p>
 <p>
- Please see the <a href="../changelog.html">ChangeLog</a> for a full list of changes.
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
 </p>
 <warn>
 Since release 1.2.9 the <b>JkShmFile</b> property has been added for

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20060101.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20060101.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20060101.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -15,6 +15,40 @@
 
 <section name="2006 News &amp; Status">
 <br />
+<a name="20061210.1"> 
+<h3>10 December - JK-1.2.20 released</h3>
+<p>The Apache Tomcat team is proud to announce the immediate availability
+of Tomcat Connectors 1.2.20. This is a stable release adding new features
+and a few bug fixes to version 1.2.19.
+Furthermore the documentation has been reorganised.
+</p>
+<p>
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
+</p>
+<p>If you find any bugs while using this release, please fill in the
+<a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
+Bug Report. When entering bug select <b>Native:JK</b> Component.
+</p>
+</a>
+<hr size="1" noshade="noshade" />
+
+<a name="20060917.1"> 
+<h3>17 September - JK-1.2.19 released</h3>
+<p>The Apache Tomcat team is proud to announce the immediate availability
+of Tomcat Connectors 1.2.19. This is a stable release adding some features
+and a few bug fixes to version 1.2.18.
+Furthermore the non-functional code trees for isapi and domino have been removed.
+</p>
+<p>
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
+</p>
+<p>If you find any bugs while using this release, please fill in the
+<a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
+Bug Report. When entering bug select <b>Native:JK</b> Component.
+</p>
+</a>
+<hr size="1" noshade="noshade" />
+
 <a name="20060720.1"> 
 <h3>13 July - JK-1.2.18 released</h3>
 <p>The Apache Tomcat team is proud to announce the immediate availability
@@ -22,7 +56,7 @@
 a few bug fixes to the not released 1.2.17 version.
 </p>
 <p>
- Please see the <a href="../changelog.html">ChangeLog</a> for a full list of changes.
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
 </p>
 <p>If you find any bugs while using this release, please fill in the
 <a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
@@ -37,7 +71,7 @@
 due to a bug in the types chosen for socket arguments.
 </p>
 <p>
- Please see the <a href="../changelog.html">ChangeLog</a> for a full list of changes.
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
 </p>
 </a>
 <hr size="1" noshade="noshade" />
@@ -47,10 +81,10 @@
 <p>Version 1.2.16 of Tomcat Connectors 1.2.16 has not been released 
 due to a bug in the jk status worker. This version adds some features
 and a few bug fixes to the 1.2.15 version. Furthermore some worker attributes
-have been <a href="../config/workers.html">deprecated</a>.
+have been <a href="../reference/workers.html">deprecated</a>.
 </p>
 <p>
- Please see the <a href="../changelog.html">ChangeLog</a> for a full list of changes.
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
 </p>
 </a>
 <hr size="1" noshade="noshade" />

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20070301.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20070301.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20070301.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="20070301.html">
+ 
+  &project;
+ 
+  <properties>
+    <author email="general.AT.tomcat.DOT.apache.DOT.org">Apache Tomcat Connectors Project</author>
+    <title>2007 News and Status</title>
+  </properties>
+
+<body>
+
+<section name="2007 News &amp; Status">
+<br />
+<a name="20070301.1"> 
+<h3>1 March - JK-1.2.21 released</h3>
+<p>The Apache Tomcat team is proud to announce the immediate availability
+of Tomcat Connectors 1.2.21. This is a stable release adding new features
+and a few bug fixes to version 1.2.20.
+</p>
+<p>
+ Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
+</p>
+<p>If you find any bugs while using this release, please fill in the
+<a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
+Bug Report. When entering bug select <b>Native:JK</b> Component.
+</p>
+</a>
+<hr size="1" noshade="noshade" />
+
+</section>
+</body>
+</document>  

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/project.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/project.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/project.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,20 +1,58 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<project name="Apache Tomcat Connector Documentation - Top Level Directory"
-        href="http://tomcat.apache.org/connector-docs/">
+<project name="Apache Tomcat Connector Documentation - News"
+        href="http://tomcat.apache.org/">
 
-    <title>Apache Tomcat Connector</title>
+    <title>The Apache Tomcat Connector - News</title>
 
     <logo href="/images/tomcat.gif">
-    Breaking News
+      The Apache Tomcat Connector - News
     </logo>
 <body>
 
     <menu name="Links">
-        <item name="Docs Home"             href="../index.html"/>
-        <item name="2006"                  href="20060101.html"/>
-        <item name="2005"                  href="20050101.html"/>
-        <item name="2004"                  href="20041100.html"/>
+        <item name="Docs Home"                  href="../index.html"/>
     </menu>
 
+    <menu name="Reference Guide">
+        <item name="workers.properties"         href="../reference/workers.html"/>
+        <item name="uriworkermap.properties"    href="../reference/uriworkermap.html"/>
+        <item name="Status Worker"              href="../reference/status.html"/>
+        <item name="Apache"                     href="../reference/apache.html"/>
+        <item name="IIS"                        href="../reference/iis.html"/>
+    </menu>
+
+    <menu name="Generic HowTo">
+        <item name="For the impatient"          href="../generic_howto/quick.html"/>
+        <item name="All about workers"          href="../generic_howto/workers.html"/>
+        <item name="Load Balancing"             href="../generic_howto/loadbalancers.html"/>
+    </menu>
+
+    <menu name="Webserver HowTo">
+        <item name="Apache"                     href="../webserver_howto/apache.html"/>
+        <item name="IIS"                        href="../webserver_howto/iis.html"/>
+        <item name="Netscape/SunOne/Sun"        href="../webserver_howto/nes.html"/>
+    </menu>
+
+    <menu name="AJP Protocol Reference">
+        <item name="AJPv13"                     href="../ajp/ajpv13a.html"/>
+        <item name="AJPv13 Extension Proposal"  href="../ajp/ajpv13ext.html"/>
+    </menu>
+
+    <menu name="Miscellaneous Documentation">
+        <item name="Frequently asked questions" href="../miscellaneous/faq.html"/>
+        <item name="Changelog"                  href="../miscellaneous/changelog.html"/>
+        <item name="Current Native:JK bugs"     href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Tomcat+5&amp;component=Native%3AJK&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=&amp;emailassigned_to2=1&amp;emailreporter2=1&amp;emailcc2=1&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0="/>
+        <item name="Contribute documentation"   href="../miscellaneous/doccontrib.html"/>
+        <item name="JK Status Ant Tasks"        href="../miscellaneous/jkstatustasks.html"/>
+        <item name="Reporting Tools"            href="../miscellaneous/reporttools.html"/>
+        <item name="Old JK/JK2 documentation"   href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html"/>
+    </menu>
+
+    <menu name="News">
+        <item name="2006"                       href="../news/20060101.html"/>
+        <item name="2005"                       href="../news/20050101.html"/>
+        <item name="2004"                       href="../news/20041100.html"/>
+    </menu>
+    
 </body>
 </project>

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/project.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/project.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/project.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<project name="Apache Tomcat Connector Documentation - Top Level Directory"
+<project name="Apache Tomcat Connector Documentation"
         href="http://tomcat.apache.org/">
 
     <title>The Apache Tomcat Connector</title>
@@ -10,21 +10,49 @@
 <body>
 
     <menu name="Links">
-        <item name="Docs Home"             href="index.html"/>
+        <item name="Docs Home"                  href="index.html"/>
     </menu>
-    <menu name="Configuration">
-        <item name="Workers.properties"    href="config/workers.html"/>
-        <item name="Apache"                href="config/apache.html"/>
-        <item name="IIS"                   href="config/iis.html"/>
+
+    <menu name="Reference Guide">
+        <item name="workers.properties"         href="reference/workers.html"/>
+        <item name="uriworkermap.properties"    href="reference/uriworkermap.html"/>
+        <item name="Status Worker"              href="reference/status.html"/>
+        <item name="Apache"                     href="reference/apache.html"/>
+        <item name="IIS"                        href="reference/iis.html"/>
     </menu>
-    <menu name="Documentation">
-        <item name="AJPv13 Protocol"       href="common/ajpv13a.html"/>
-        <item name="HowTo and Install"     href="howto/index.html"/>
-        <item name="Frequently asked questions"  href="faq.html"/>
-        <item name="Changelog"             href="changelog.html"/>
-        <item name="Tools"             href="common/tools.html"/>
-        <item name="Old JK/JK2 documentation" href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html"/>
+
+    <menu name="Generic HowTo">
+        <item name="For the impatient"          href="generic_howto/quick.html"/>
+        <item name="All about workers"          href="generic_howto/workers.html"/>
+        <item name="Load Balancing"             href="generic_howto/loadbalancers.html"/>
     </menu>
 
+    <menu name="Webserver HowTo">
+        <item name="Apache"                     href="webserver_howto/apache.html"/>
+        <item name="IIS"                        href="webserver_howto/iis.html"/>
+        <item name="Netscape/SunOne/Sun"        href="webserver_howto/nes.html"/>
+    </menu>
+
+    <menu name="AJP Protocol Reference">
+        <item name="AJPv13"                     href="ajp/ajpv13a.html"/>
+        <item name="AJPv13 Extension Proposal"  href="ajp/ajpv13ext.html"/>
+    </menu>
+
+    <menu name="Miscellaneous Documentation">
+        <item name="Frequently asked questions" href="miscellaneous/faq.html"/>
+        <item name="Changelog"                  href="miscellaneous/changelog.html"/>
+        <item name="Current Native:JK bugs"     href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Tomcat+5&amp;component=Native%3AJK&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=&amp;emailassigned_to2=1&amp;emailreporter2=1&amp;emailcc2=1&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0="/>
+        <item name="Contribute documentation"   href="miscellaneous/doccontrib.html"/>
+        <item name="JK Status Ant Tasks"        href="miscellaneous/jkstatustasks.html"/>
+        <item name="Reporting Tools"            href="miscellaneous/reporttools.html"/>
+        <item name="Old JK/JK2 documentation"   href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html"/>
+    </menu>
+
+    <menu name="News">
+        <item name="2006"                       href="news/20060101.html"/>
+        <item name="2005"                       href="news/20050101.html"/>
+        <item name="2004"                       href="news/20041100.html"/>
+    </menu>
+
 </body>
 </project>

Deleted: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/proxy.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/proxy.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/proxy.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,82 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE document [
-  <!ENTITY project SYSTEM "project.xml">
-]>
-<document url="proxy.html">
- 
-  &project;
-
-<copyright>
-   Copyright 1999-2005 The Apache Software Foundation
- 
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
- 
-       http://www.apache.org/licenses/LICENSE-2.0
- 
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-</copyright>
-<properties>
-<title>Using proxies with Tomcat</title>
-<date>$Date: 2005-07-05 04:34:31 -0500 (Tue, 05 Jul 2005) $</date>
-</properties>
-
-<body>
-
-<section name="Http proxy">
-<p>
-It easy to use the standard Http proxy of Apache when single Tomcat is connected to Apache.
-<source>
-&lt;Location /examples/&gt;
-ProxyPass http://localhost:8080/examples/
-ProxyPassReverse http://localhost:8080/examples/
-&lt;/Location&gt;
-</source>
-</p>
-</section>
-
-<section name="AJP proxy">
-<p>
-The AJP proxy is a new module based on the standard Http proxy it uses AJP instead of HTTP.
-<source>
-&lt;Location /examples/&gt;
-   ProxyPass ajp://localhost:8009/examples/
-&lt;/Location&gt;
-</source>
-</p>
-</section>
-
-<section name="AJP proxy and proxy balancer">
-<p>
-It is possible to use the load balancer of the mod_proxy_balancer module.
-<source>
-&lt;Proxy balancer://myCluster&gt;
-   BalancerMember ajp://localhost:8009
-   BalancerMember ajp://example.org:8009
-&lt;/Proxy&gt;
-&lt;Location /examples/&gt;
-    ProxyPass balancer://myCluster/examples/
-&lt;/Location&gt;
-</source>
-</p>
-</section>
-
-<section name="Source and Configuration">
-<p>
-AJP proxy is integrated in httpd-2.1 and the developement and discussions take
-place <a href="http://httpd.apache.org/lists.html">there</a>.
-The documentation can be found there
-<a href="http://httpd.apache.org/docs-2.1/mod/mod_proxy_ajp.html">mod_proxy_ajp</a>
-and
-<a href="http://httpd.apache.org/docs-2.1/mod/mod_proxy_balancer.html">mod_proxy_balancer</a>.
-</p>
-</section>
-
-</body>
-
-</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/apache.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/apache.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/apache.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,794 @@
+<?xml version="1.0"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="apache.html">
+
+    &project; 
+
+    <properties>
+        <author email="mturk at apache.org">Mladen Turk</author>
+        <title>Configuring Apache</title>
+    </properties>
+
+<body>
+
+<section name="Configuration Directives"> <p>
+Most of the directives are allowed once in the global part of the Apache httpd
+configuration and once in every &lt;VirtualHost&gt; elements. Exceptions from this rule are
+explicitely listed in the table below.
+</p>
+<p>
+Values are inherited from the main server to the virtual hosts. 
+Since version 1.2.20 they can be overwritten in the virtual hosts.
+Exceptions from this rule are
+again explicitely listed in the table below.
+</p>
+<p>
+Here are the all directives supported by Apache:
+</p>
+<attributes name="Directive">
+<attribute name="JkWorkersFile" required="false"><p>
+The name of a worker file for the Tomcat servlet containers.
+<br/>
+This directive is only allowed once. It must be put into
+ the global part of the configuration.
+<br/>
+If you don't use the JkWorkerProperty directives, then you must
+define your workers with a valid JkWorkersFile. There is no default
+value.
+</p></attribute>
+<attribute name="JkWorkerProperty" required="false"><p>
+Enables setting worker properties inside Apache configuration file.
+The syntax is the same as in the JkWorkersFile (usually workers.properties).
+Simply prefix each line with "JkWorkerProperty" to put it directly into
+the Apache httpd config files.
+<br/>
+This directive is allowed multiple times.
+It must be put into the global part of the configuration.
+<br/>
+If you don't use the JkWorkerProperty directives, then you must
+define your workers with a valid JkWorkersFile. There is no default
+value.
+<br/>
+This directive is available in jk1.2.7 version and later.
+</p></attribute>
+<attribute name="JkShmFile" required="false"><p>
+Shared memory file name. Used only on unix platforms.
+<br/>
+This directive is only allowed once. It must be put into
+ the global part of the configuration.
+<br/>
+The default value is logs/jk-runtime-status.
+</p></attribute>
+<attribute name="JkShmSize" required="false"><p>
+Size of the shared memory file name.
+<br/>
+This directive is only allowed once. It must be put into
+ the global part of the configuration.
+<br/>
+The default value depends on the platform. It is usually less than 64KB.
+</p></attribute>
+<attribute name="JkMountFile" required="false"><p>
+File containing multiple mappings from a context to a Tomcat worker.
+It is usually called uriworkermap.properties.
+<br/>
+For inheritance rules, see: JkMountCopy.
+<br/>
+There is no default value.
+</p></attribute>
+<attribute name="JkMountFileReload" required="false"><p>
+This directive configures the reload check interval in seconds.
+The JkMountFile is checked periodically for changes.
+A changed file gets reloaded automatically. If you set
+this directive to "0", reload checking is turned off.
+<br/>
+The default value is 60 seconds.
+<br/>
+This directive has been added in version 1.2.20 of mod_jk.
+</p></attribute>
+<attribute name="JkMount" required="false"><p>
+A mount point from a context to a Tomcat worker.
+<br/>
+This directive is allowed multiple times.
+It is allowed in the global configuration and in VirtualHost.
+You can also use it inside Location with a different syntax.
+Inside Location, one omits the first argument (path),
+which gets inherited from the Location.
+For inheritance rules, see: JkMountCopy.
+</p></attribute>
+<attribute name="JkUnMount" required="false"><p>
+An exclusion mount point from a context to a Tomcat worker.
+All exclusion mounts are checked after mapping a request
+to a tomcat worker. If the request maps also to an exclusion,
+it will not be forwarded to tomcat, and instead be served locally.
+<br/>
+This directive is allowed multiple times.
+It is allowed in the global configuration and in VirtualHost.
+You can also use it inside Location with a different syntax.
+Inside Location, one omits the first argument (path),
+which gets inherited from the Location.
+For inheritance rules, see: JkMountCopy.
+<br/>
+This directive is available in jk1.2.7 version and later.
+</p></attribute>
+<attribute name="JkAutoAlias" required="false"><p>
+Automatically Alias webapp context directories into the Apache
+document space. 
+<br/>
+For inheritance rules, see: JkMountCopy.
+<br/>
+There is no default value.
+</p></attribute>
+<attribute name="JkMountCopy" required="false"><p>
+If this directive is set to On in some virtual server,
+the mounts from the global server will be copied to the
+virtual server, more precisely all mounts defined by JkMount
+or JkUnMount. The Mounts defined by JkMountFile and JkAutoAlias
+will only be inherited, if the VirtualHost does not define
+it's own JkMountFile or JkAutoAlias.
+<br/>
+This directive is only allowed inside VirtualHost.
+<br/>
+The default is Off.
+</p></attribute>
+<attribute name="JkWorkerIndicator" required="false"><p>
+Name of the Apache environment variable that can be used to set worker names
+in combination with SetHandler jakarta-servlet.
+<br/>
+This directive is only allowed once per virtual server.
+It is allowed in the global configuration and in VirtualHost.
+<br/>
+The default value is JK_WORKER_NAME.
+</p></attribute>
+<attribute name="JkLogFile" required="false"><p>
+Full or server relative path to the Tomcat Connector module log file.
+It will also work with pipe, by using a value of the form "| ...".
+<br/>
+The default value is logs/mod_jk.log.
+<br/>
+Pipes are supported for Apache 1.3 only since version 1.2.16.
+The default value exists only since version 1.2.20.
+</p></attribute>
+<attribute name="JkLogLevel" required="false"><p>
+The Tomcat Connector module log level, can be debug, info, warn
+error or trace.
+<br/>
+The default value is info.
+</p></attribute>
+<attribute name="JkLogStampFormat" required="false"><p>
+The Tomcat Connector module <b>date</b> log format, follow strftime syntax.
+This format will be used for the time stamps in the JkLogFile.
+<br/>
+The default value is "[%a %b %d %H:%M:%S %Y] ".
+</p></attribute>
+<attribute name="JkRequestLogFormat" required="false"><p>
+Request log format string. See detailed description below.
+<br/>
+There is no default value. Without defining a value, the request logging
+is turned off.
+</p></attribute>
+<attribute name="JkExtractSSL" required="false"><p>
+Turns on SSL processing and information gathering by mod_jk
+<br/>
+The default value is On.
+</p></attribute>
+<attribute name="JkHTTPSIndicator" required="false"><p>
+Name of the Apache environment variable that contains SSL indication.
+<br/>
+The default value is "HTTPS".
+</p></attribute>
+<attribute name="JkCERTSIndicator" required="false"><p>
+Name of the Apache environment variable that contains SSL client certificates.
+<br/>
+The default value is "SSL_CLIENT_CERT".
+</p></attribute>
+<attribute name="JkCIPHERIndicator" required="false"><p>
+Name of the Apache environment variable that contains SSL client cipher.
+<br/>
+The default value is "SSL_CIPHER".
+</p></attribute>
+<attribute name="JkSESSIONIndicator" required="false"><p>
+Name of the Apache environment variable that contains SSL session.
+<br/>
+The default value is "SSL_SESSION_ID".
+</p></attribute>
+<attribute name="JkKEYSIZEIndicator" required="false"><p>
+Name of the Apache environment variable that contains SSL key size in use.
+<br/>
+The default value is "SSL_CIPHER_USEKEYSIZE".
+</p></attribute>
+<attribute name="JkOptions" required="false"><p>
+Set one of more options to configure the mod_jk module. See below for
+details about this directive.
+<br/>
+This directive can be used multiple times per virtual server.
+<br/>
+The default value is "ForwardURICompat".
+</p></attribute>
+<attribute name="JkEnvVar" required="false"><p>
+Adds a name and an optional default value of environment variable
+that should be sent to servlet-engine as a request attribute.
+If the default value is not given explicitely, the variable
+will only be send, if it is set during runtime.
+<br/>
+This directive can be used multiple times per virtual server.
+<br/>
+The default is empty, so no additional variables will be sent.
+<br/>
+Empty default values are supported since version 1.2.20.
+Not sending variables with empty defaults and empty runtime value
+has been introduced in version 1.2.21.
+</p></attribute>
+<attribute name="JkStripSession" required="false"><p>
+If this directive is set to On in some virtual server,
+the session IDs <code>;jsessionid=...</code> will be
+removed for non matched URLs.
+<br/>
+This directive is only allowed inside VirtualHost.
+<br/>
+The default is Off.
+<br/>
+This directive has been introduced in version 1.2.21.
+</p></attribute>
+
+</attributes>
+</section>
+
+<section name="Configuration Directives Types">
+<p>
+We'll discuss here the mod_jk directive types.
+</p>
+
+<subsection name="Define workers">
+<p>
+<b>JkWorkersFile</b> specify the location where mod_jk will find the workers definitions.
+Take a look at <a href="workers.html">Workers documentation</a> for detailed description.
+
+<source>
+  
+  JkWorkersFile     /etc/httpd/conf/workers.properties
+</source>
+
+<br/>
+<br/>
+</p>
+
+</subsection>
+
+<subsection name="Logging">
+<p>
+<b>JkLogFile</b> specify the location where mod_jk is going to place its log file.
+</p>
+
+<source>
+  JkLogFile     /var/log/httpd/mod_jk.log
+</source>
+
+<p>
+Since JK 1.2.3 for Apache 2.0 and JK 1.2.16 for Apache 1.3 this can also
+be used for piped logging:
+</p>
+
+<source>
+  JkLogFile     "|/usr/bin/rotatelogs /var/log/httpd/mod_jk.log 86400"
+</source>
+
+<p>
+<b>JkLogLevel</b>
+set the log level between :
+</p>
+
+<ul>
+<li>
+<b>info</b> log will contain standard mod_jk activity (default).
+</li>
+<li>
+<b>warn</b> log will contain non fatal error reports.
+</li>
+<li>
+<b>error</b> log will contain also error reports.
+</li>
+<li>
+<b>debug</b> log will contain all information on mod_jk activity
+</li>
+<li>
+<b>trace</b> log will contain all tracing information on mod_jk activity
+</li>
+</ul>
+
+<source>  
+  JkLogLevel    info
+</source>
+
+<p>
+<code>info</code> should be your default selection for normal operations.
+<br/>
+<br/>
+</p>
+
+<p>
+<b>JkLogStampFormat</b> will configure the date/time format found on mod_jk log file. 
+Using the strftime() format string it's set by<br />
+default to <b>"[%a %b %d %H:%M:%S %Y]"</b>
+</p>
+
+<source>
+  JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
+</source>
+
+<p>
+<br/>
+<br/>
+</p>
+
+<p>
+<b>JkRequestLogFormat</b> will configure the format of mod_jk individual request logging. 
+Request logging is configured and enabled on a per virtual host basis. 
+To enable request logging for a virtual host just add a JkRequestLogFormat config. 
+The syntax of the format string is similar to the Apache LogFormat command, 
+here is a list of the available request log format options:
+</p>
+                       
+<p>
+<attributes name="Options">
+  <attribute name="%b" required="false">Bytes sent, excluding HTTP headers (CLF format)</attribute>
+  <attribute name="%B" required="false">Bytes sent, excluding HTTP headers</attribute>
+  <attribute name="%H" required="false">The request protocol</attribute>
+  <attribute name="%m" required="false">The request method</attribute>
+  <attribute name="%p" required="false">The canonical Port of the server serving the request</attribute>
+  <attribute name="%q" required="false">The query string (prepended with a ? if a query string exists, otherwise an empty string)</attribute>
+  <attribute name="%r" required="false">First line of request</attribute>
+  <attribute name="%s" required="false">Request HTTP status code</attribute>
+  <attribute name="%T" required="false">Request duration, elapsed time to handle request in seconds '.' micro seconds</attribute>
+  <attribute name="%U" required="false">The URL path requested, not including any query string.</attribute>
+  <attribute name="%v" required="false">The canonical ServerName of the server serving the request</attribute>
+  <attribute name="%V" required="false">The server name according to the UseCanonicalName setting</attribute>
+  <attribute name="%w" required="false">Tomcat worker name</attribute>
+  <attribute name="%R" required="false">Real worker name</attribute>
+</attributes>
+
+<source>
+  JkRequestLogFormat     "%w %V %T"
+</source>
+
+<br/>
+<br/>
+</p>
+
+<p>
+You can also log mod_jk information using the Apache standard module <b>mod_log_config</b>.
+The module sets several notes in the Apache httpd notes table.
+Most of them are are only useful in combination with a load balancer worker.
+</p>
+                       
+<p>
+<attributes name="Note">
+  <attribute name="JK_WORKER_NAME" required="false">Name of the worker selected by the URI mapping</attribute>
+  <attribute name="JK_WORKER_TYPE" required="false">Type of the worker selected by the URI mapping</attribute>
+  <attribute name="JK_WORKER_ROUTE" required="false">Actual worker name selected by the URI mapping (usually a member of the load balancer)</attribute>
+  <attribute name="JK_REQUEST_DURATION" required="false">Request duration in seconds and microseconds.
+                                                         At the moment only available if JkRequestLogFormat is set.</attribute>
+  <attribute name="JK_LB_FIRST_NAME" required="false">Load-Balancer: Name of the first worker tried</attribute>
+  <attribute name="JK_LB_FIRST_TYPE" required="false">Load-Balancer: Type of the first worker tried</attribute>
+  <attribute name="JK_LB_FIRST_ACCESSED" required="false">Load-Balancer: Access count for the first worker tried</attribute>
+  <attribute name="JK_LB_FIRST_READ" required="false">Load-Balancer: Bytes read for the first worker tried</attribute>
+  <attribute name="JK_LB_FIRST_TRANSFERRED" required="false">Load-Balancer: Bytes transferred for the first worker tried</attribute>
+  <attribute name="JK_LB_FIRST_ERRORS" required="false">Load-Balancer: Error count for the first worker tried</attribute>
+  <attribute name="JK_LB_FIRST_BUSY" required="false">Load-Balancer: Busy count for the first worker tried</attribute>
+  <attribute name="JK_LB_FIRST_ACTIVATION" required="false">Load-Balancer: Activation state for the first worker tried</attribute>
+  <attribute name="JK_LB_FIRST_STATE" required="false">Load-Balancer: Error state for the first worker tried</attribute>
+  <attribute name="JK_LB_LAST_NAME" required="false">Load-Balancer: Name of the last worker tried</attribute>
+  <attribute name="JK_LB_LAST_TYPE" required="false">Load-Balancer: Type of the last worker tried</attribute>
+  <attribute name="JK_LB_LAST_ACCESSED" required="false">Load-Balancer: Access count for the last worker tried</attribute>
+  <attribute name="JK_LB_LAST_READ" required="false">Load-Balancer: Bytes read for the last worker tried</attribute>
+  <attribute name="JK_LB_LAST_TRANSFERRED" required="false">Load-Balancer: Bytes transferred for the last worker tried</attribute>
+  <attribute name="JK_LB_LAST_ERRORS" required="false">Load-Balancer: Error count for the last worker tried</attribute>
+  <attribute name="JK_LB_LAST_BUSY" required="false">Load-Balancer: Busy count for the last worker tried</attribute>
+  <attribute name="JK_LB_LAST_ACTIVATION" required="false">Load-Balancer: Activation state for the last worker tried</attribute>
+  <attribute name="JK_LB_LAST_STATE" required="false">Load-Balancer: Error state for the last worker tried</attribute>
+</attributes>
+
+<source>
+  LogFormat     "%h %l %u %t \"%r\" %>s %b %{JK_WORKER_NAME}n %{JK_LB_FIRST_NAME}n \
+                 %{JK_LB_FIRST_BUSY}n %{JK_LB_LAST_NAME}n %{JK_LB_LAST_BUSY}n" mod_jk_log
+  CustomLog     logs/access_log     mod_jk_log
+</source>
+
+<br/>
+<br/>
+</p>
+
+</subsection>
+
+<subsection name="Forwarding">
+<p>
+The directive JkOptions allow you to set many forwarding options which will enable (+)
+or disable (-) following option. Without any leading signs, options will be enabled.
+<br/>
+<br/>
+</p>
+
+<p>
+The three following options <b>+ForwardURIxxx</b> are mutually exclusive.
+Exactly one of them is required, a negative sign prefix is not allowed with them.
+By default, the option ForwardURICompat is turned on.
+You can turn this off by switching on one of the other two.
+<br/>
+<br/>
+</p>
+
+<p>
+All options are inherited from the global server to virtual hosts.
+Options that support enabling (plus options) and disabling (minus options),
+are inherited in the following way:
+<br/>
+<br/>
+options(vhost) = plus_options(global) - minus_options(global) + plus_options(vhost) - minus_options(vhost)
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>ForwardURICompat</b>, you ask mod_jk to send the URI to Tomcat normally, 
+which is less spec compliant but mod_rewrite compatible, 
+use it for compatibility with Tomcat 3.2.x engines (on by default).
+
+<source>  
+  JkOptions     +ForwardURICompat
+</source>
+
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>ForwardURICompatUnparsed</b>, the forwarded URI 
+is unparsed, it's spec compliant but broke mod_rewrite.
+
+<source>  
+  JkOptions     +ForwardURICompatUnparsed
+</source>
+
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>ForwardURIEscaped</b>, the forwarded URI is escaped and 
+Tomcat (since 3.3 rc2) will do the decoding part.
+
+<source>  
+  JkOptions     +ForwardURIEscaped
+</source>
+
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>ForwardDirectories</b> is used in conjunction with <b>DirectoryIndex</b> 
+directive of Apache web server. As such mod_dir should be available to Apache,
+statically or dynamically (DSO)
+<br/>
+<br/>
+</p>
+
+<p>
+When DirectoryIndex is configured, Apache will create sub-requests for
+each of the local-url's specified in the directive, to determine if there is a
+local file that matches (this is done by stat-ing the file).
+</p>
+
+<p>
+If ForwardDirectories is set to false (default) and Apache doesn't find any
+files that match, Apache will serve the content of the directory (if directive
+Options specifies Indexes for that directory) or a <code>403 Forbidden</code> response (if
+directive Options doesn't specify Indexes for that directory).
+</p>
+
+<p>
+If ForwarDirectories is set to true and Apache doesn't find any files that
+match, the request will be forwarded to Tomcat for resolution. This is used in
+cases when Apache cannot see the index files on the file system for various
+reasons: Tomcat is running on a different machine, the JSP file has been
+precompiled etc. 
+</p>
+
+<p>Note that locally visible files will take precedence over the
+ones visible only to Tomcat (i.e. if Apache can see the file, that's the one
+that's going to get served). This is important if there is more then one type of
+file that Tomcat normally serves - for instance Velocity pages and JSP pages.
+
+<source>  
+  JkOptions     +ForwardDirectories
+</source>
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>ForwardLocalAddress</b>, you ask mod_jk to send the local address,
+of the Apache web server instead remote client address. This can be used by
+Tomcat remote address valve for allowing connections only from registered Apache
+web servers.
+
+<source>  
+  JkOptions     +ForwardLocalAddress
+</source>
+
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>FlushPackets</b>, you ask mod_jk to flush Apache's connection
+buffer after each AJP packet chunk received from Tomcat. This option can have
+a strong performance penalty for Apache and Tomcat as writes are performed
+more often than would normally be required (ie: at the end of each
+response).
+
+<source>  
+  JkOptions     +FlushPackets
+</source>
+
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>FlushHeader</b>, you ask mod_jk to flush Apache's connection
+buffer after the response headers have been  received from Tomcat.
+
+<source>  
+  JkOptions     +FlushHeader
+</source>
+
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>DisableReuse</b>, you ask mod_jk to close connections immediately
+after their use. Normally mod_jk uses persistent connections and pools idle
+connections to reuse them, when new requests have to be sent to Tomcat.
+</p>
+
+<p>
+Using this option will have a strong performance penalty for Apache and Tomcat.
+Use this only as a last resort in case of unfixable network problems.
+If a firewall between Apache and Tomcat silently kills idle connections,
+try to use the worker attribute socket_keepalive in combination with an appropriate
+TCP keepalive value in your OS.
+
+<source>  
+  JkOptions     +DisableReuse
+</source>
+
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>ForwardKeySize</b>,  you ask mod_jk, when using ajp13, to forward also the SSL Key Size  as 
+required by Servlet API 2.3.
+This flag shouldn't be set when servlet engine is Tomcat 3.2.x (on by default).
+
+<source>  
+  JkOptions     +ForwardKeySize
+</source>
+
+<br/>
+<br/>
+</p>
+
+<p>
+The directive <b>JkEnvVar</b> allows you to forward environment variables from Apache server to Tomcat engine.
+The variables can be retrieved on the Tomcat side as request attributes.
+You can add a default value as a second parameter to the directive.
+If the default value is not given explicitely, the variable
+will only be send, if it is set during runtime.
+<br/>
+<br/>
+The variables are inherited from the global server to virtual hosts.
+
+<source>  
+  JkEnvVar     SSL_CLIENT_V_START     undefined
+</source>
+<br/>
+<br/>
+</p>
+
+</subsection>
+
+<subsection name="Assigning URLs to Tomcat">
+<p>
+If you have created a custom or local version of mod_jk.conf-local as noted above, 
+you can change settings such as the workers or URL prefix.
+</p>
+<p>
+<b>JkMount</b> directive assign specific URLs to Tomcat. 
+In general the structure of a JkMount directive is:
+</p>
+
+<source>  
+  JkMount [URL prefix] [Worker name]
+</source>
+
+<source>
+  # send all requests ending in .jsp to worker1
+  JkMount /*.jsp worker1
+  # send all requests ending /servlet to worker1
+  JkMount /*/servlet/ worker1
+  # send all requests jsp requests to files located in /otherworker will go worker2
+  JkMount /otherworker/*.jsp worker2
+</source>
+
+<p>
+You can use the JkMount directive at the top level or inside &lt;VirtualHost&gt;
+sections of your httpd.conf file.
+</p>
+<p><b>JkUnmount</b> directive acts as an opposite to JkMount and blocks access
+to a particular URL. The purpose is to be able to filter out the particular content
+types from mounted context. The following example mounts /servlet/*
+context, but all .gif files that belongs to that context are not served.
+</p>
+<source>
+  # send all requests ending with /servlet to worker1
+  JkMount /servlet/* worker1
+  # do not send requests ending with .gif to worker1
+  JkUnMount /servlet/*.gif worker1
+</source>
+<p>
+JkUnMount takes precedence over JkMount directives, meaning that the JK
+will first look for unmount and then for mount directives. The following
+example will block all .gif files.
+</p>
+<source>
+  # do not send requests ending with .gif to worker1
+  JkUnMount /*.gif worker1
+  # The .gif files will not be mounted cause JkUnMount takes
+  # precedence over JkMount directive
+  JkMount /servlet/*.gif worker1
+</source>
+
+<p>
+<b>JkAutoAlias</b> directive automatically <b>Alias</b> webapp context directories into
+the Apache document space. It enables Apache to serve a static context while Tomcat
+serving dynamic context. This directive is used for convenience so that you don't
+have to put an apache Alias directive for each application directory inside Tomcat's
+webapp directory.
+</p>
+
+<source>
+  # enter the full path to the tomcat webapps directory
+  JkAutoAlias /opt/tomtact/webapps
+</source>
+<p>The following example shows how to serve a dynamic context by
+Tomcat and static using Apache. The webapps directory has to
+be accessible by apache.</p>
+
+<source>
+  # enter the full path to the tomcat webapps directory
+  JkAutoAlias /opt/tomtact/webapps
+
+  # Mount 'servlets-examples' directory. It's physical location
+  # is assumed to be in the /opt/tomtact/webapps/servlets-examples
+  # ajp13w is a worker defined in the workers.properties
+  JkMount /servlets-examples/* ajp13w
+
+  # Unmount desired static content from servlets-examples webapp.
+  # This content will be served by the httpd directly.
+  JkUnMount /servlets-examples/*.gif ajp13w
+  JkUnMount /servlets-examples/*.jpg ajp13w
+</source>
+<p>Note that you can have a single JkAutoAlias directive per virtual
+host inside your httpd.conf
+</p>
+<p>
+<b>JkWorkerProperty</b> is a new directive available from JK 1.2.7
+version. It is a convenient method for setting directives that are
+usually set inside <b>workers.propeties</b>file. The parameter for
+that directive is raw line from workers.properties file.
+</p>
+<source>
+  # Just like workers.properties but exact line is prefixed
+  # with JkWorkerProperty
+
+  # Minimal jk configuration
+  JkWorkerProperty worker.list=ajp13w
+  JkWorkerProperty worker.ajp13w.type=ajp13
+  JkWorkerProperty worker.ajp13w.host=localhost
+  JkWorkerProperty worker.ajp13w.port=8009   
+</source>
+<p>
+<b>JkMountFile</b> is a new directive available from JK 1.2.9
+version. It is used for dynamic updates of mount points at runtime.
+When the mount file is changed, JK will reload it's content.
+</p>
+<source>
+  # Load mount points
+
+  JkMountFile conf/uriworkermap.properties
+</source>
+<p>If the mount point uri starts with an exclamation mark '!'
+it defines an exclusion in the same way JkUnmount does.
+If the mount point uri starts with minus sign '-'
+the mount point will only be disabled. A disabled mount can be reenabled
+by deleting the minus sign and waiting for the JkMountFile to reload.
+An exclusion can be disabled by prefixing it with a mninus sign.
+</p>
+<source>
+  # Sample uriworkermap.properties file
+
+  /servlets-examples/*=ajp13w
+  # Do not map .jpeg files
+  !/servlets-examples/*.jpeg=ajp13w
+  # Make jsp examples initially disabled  
+  -/jsp-examples/*=ajp13w
+</source>
+<p>At run time you can change the content of this file. For example
+removing minus signs will enable the previously disabled uri mappings.
+You can add any number of new entries at runtime that reflects the newly deployed
+applications. Apache will reload the file and update the mount
+points within 60 second interval.
+</p>
+<p>
+There is no way to delete entries by dynamic reloading, but you can disable or
+exclude mappings.
+<br/>
+<br/>
+</p>
+
+</subsection>
+
+<subsection name="Using SetHandler and Environment Variables">
+<p>
+Alternatively to the mod_jk specific directives, you can also use
+SetHandler and environment variables to control, which requests
+are being forwarded via which worker. This gives you more flexibility,
+but the results might be more difficult to understand. If you mix both
+ways of defining the forwards, in general to mod_jk directives will win.
+</p>
+<p>
+<b>SetHandler jakarta-servlet</b> forces requests to be handled by mod_jk.
+If you neither specify any workers via JkMount and the related directives,
+not via the environment variable described below,
+the first worker in the list of all worker will be chosen. You can use SetHandler
+for example in Location blocks or with Apache 2.2 also in RewriteRule.
+</p>
+<p>
+In order to control the worker using <b>SetEnvIf</b> or <b>RewriteRule</b>
+for more complex rules, you can set the environment variable <b>JK_WORKER_NAME</b>
+to the name of your chosen target worker. This enables you to decide on
+the chosen worker in a more flexible way, including dependencies on cookie values.
+This feature has been added in version 1.2.19 of mod_jk.
+</p>
+<p>
+In order to use another variable than <b>JK_WORKER_NAME</b>, you can set the name
+of this variable via the <b>JkWorkerIndicator</b> directive.
+</p>
+<p>
+Finally you can define exclusions from mod_jk forwards by setting the environment
+variable <b>no-jk</b>.
+</p>
+<source>
+  # Automatically map all encoded urls
+  &lt;Location *;jsessionid=&gt;
+    SetHandler jakarta-servlet
+    SetEnv JK_WORKER_NAME my_worker
+  &lt;/Location&gt;
+
+  # Map all subdirs to workers via naming rule
+  # and exclude static content.
+  &lt;Location /apps/&gt;
+    SetHandler jakarta-servlet
+    SetEnvIf REQUEST_URI ^/apps/([^/]*)/ JK_WORKER_NAME=$1
+    SetEnvIf REQUEST_URI ^/apps/([^/]*)/static no-jk
+  &lt;/Location&gt;
+</source>
+
+</subsection>
+ </section>
+</body>
+</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/iis.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/iis.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/iis.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,177 @@
+<?xml version="1.0"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="iis.html">
+
+    &project; 
+
+    <properties>
+        <author email="mturk at apache.org">Mladen Turk</author>
+        <title>Configuring IIS</title>
+    </properties>
+
+<body>
+
+<section name="Requirements">
+<p>
+The Tomcat redirector requires three entities:
+
+<ul>
+<li>
+<b>isapi_redirect.dll</b> - The IIS server plugin, either obtain a pre-built DLL or build it yourself (see the build section).
+</li>
+<li>
+<b>workers.properties</b> - A file that describes the host(s) and port(s) used by the workers (Tomcat processes). 
+A sample workers.properties can be found under the conf directory.
+</li>
+<li>
+<b>uriworkermap.properties</b> - A file that maps URL-Path patterns to workers. 
+A sample uriworkermap.properties can be found under the conf directory as well.
+</li>
+</ul>
+</p>
+
+<p>
+The installation includes the following parts:
+
+<ul>
+<li>
+Configuring the ISAPI redirector with a default /examples context and checking that you can serve servlets with IIS.
+</li>
+<li>
+Adding more contexts to the configuration.
+</li>
+</ul>
+</p>
+</section>
+<section name="Registry settings">
+<p>
+ISAPI redirector reads configuration from the registry, create a new registry key named :
+</p>
+<p>
+<b>"HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0"</b>
+</p>
+<attributes name="Key Name">
+<attribute name="extension_uri" required="true"><p>
+A string value pointing to the ISAPI extension <b>/jakarta/isapi_redirect.dll</b>
+</p></attribute>
+<attribute name="log_file" required="false"><p>
+A value pointing to location where log file will be created.
+(for example <b>c:\tomcat\logs\isapi.log</b>)
+</p></attribute>
+<attribute name="log_level" required="false"><p>
+A string value for log level 
+(can be debug, info, warn, error or trace).
+</p></attribute>
+<attribute name="worker_file" required="true"><p>
+A string value which is the full path to workers.properties file
+(for example <b>c:\tomcat\conf\workers.properties</b>)
+</p></attribute>
+<attribute name="worker_mount_file" required="true"><p>
+A string value which is the full path to uriworkermap.properties file
+(for example <b>c:\tomcat\conf\uriworkermap.properties</b>)
+</p></attribute>
+<attribute name="rewrite_rule_file" required="false"><p>
+A string value which is the full path to rewrite.properties file
+(for example <b>c:\tomcat\conf\rewrite.properties</b>)
+</p></attribute>
+<attribute name="shm_size" required="false"><p>
+A DWORD value size of the shared memory. Set this value to be
+the number of all defined workers * 400.
+(Set this value only if you have <b>more</b> then <b>64</b> workers)
+</p>
+<p>This directive has been added in version 1.2.20</p>
+</attribute>
+<attribute name="worker_mount_reload" required="false"><p>
+A DWORD value specifying the time in seconds upon which the
+<b>worker_mount_file</b> will be reloaded.
+</p>
+<p>This directive has been added in version 1.2.20</p>
+</attribute>
+<attribute name="strip_session" required="false"><p>
+A string value representing a boolean. If it is set to true,
+URL session suffixes of the form ";jsessionid=..." get stripped of URLs,
+even if the are served locally by the web server.
+A true value can be represented by the string "1" or any string starting
+with the letters "T" or "t". A false value will be assumed for "0"
+or any string starting with "F" or "f". The default value is false.
+</p>
+<p>This directive has been added in version 1.2.21</p>
+</attribute>
+
+</attributes>
+</section> 
+<section name="Using a properties file for configuration">
+<p>
+The ISAPI redirector can read it's configuration from a properties file instead of the registry. 
+This has the advantage that you can use multiple ISAPI redirectors with independant configurations on the same server.
+The redirector will check for the properties file during initialisation, and use it in preference to the registry if present.
+</p>
+<p>
+Create a properties file in the same directory as the ISAPI redirector called <b>isapi_redirect.properties</b> i.e. with the same name as the ISAPI redirector DLL but with a <em>.properties</em> extension. A sample isapi_redirect.properties can be found under the conf directory.
+</p>
+<p>
+The property names and values in the properties file are the same as for the registry settings described above. For example:
+</p>
+<p>
+<source>
+# Configuration file for the Jakarta ISAPI Redirector
+
+# The path to the ISAPI Redirector Extension, relative to the website
+# This must be in a virtual directory with execute privileges
+extension_uri=/jakarta/isapi_redirect.dll
+
+# Full path to the log file for the ISAPI Redirector
+log_file=c:\tomcat\logs\isapi_redirect.log
+
+# Log level (debug, info, warn, error or trace)
+log_level=info
+
+# Full path to the workers.properties file
+worker_file=c:\tomcat\conf\workers.properties
+
+# Full path to the uriworkermap.properties file
+worker_mount_file=c:\tomcat\conf\uriworkermap.properties
+</source>
+</p>
+<p>
+    Notes: 
+    <ul>
+        <li>
+            Back-slashes - '\' - are not escape characters.
+        </li>
+        <li>
+            Comment lines begin with '#'.
+        </li>
+    </ul>
+</p>
+</section>
+
+<section name="Using a simple rewrite rules">
+<p>
+The ISAPI redirector with version 1.2.16 can do a simple URL rewriting. Althought not
+as powerfull as Apache Httpd's mod_rewrite, it allows a simple exchange of request uris
+</p>
+<p>
+The rule is in the form rewritten=real-url.
+</p>
+<p>
+The rules must be simple strings. For example:
+</p>
+<p>
+<source>
+# Simple rewrite rules
+
+/jsp/=/jsp-examples/
+/servlets/=/servlets-examples/
+
+</source>
+</p>
+<p>
+Note that the uriworkermap or mount point must point to that new rule.
+</p>
+</section>
+
+</body>
+</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/project.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/project.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/project.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="Apache Tomcat Connector Documentation - Reference Guide"
+        href="http://tomcat.apache.org/">
+
+    <title>The Apache Tomcat Connector - Reference Guide</title>
+
+    <logo href="/images/tomcat.gif">
+      The Apache Tomcat Connector - Reference Guide
+    </logo>
+<body>
+
+    <menu name="Links">
+        <item name="Docs Home"                  href="../index.html"/>
+    </menu>
+
+    <menu name="Reference Guide">
+        <item name="workers.properties"         href="../reference/workers.html"/>
+        <item name="uriworkermap.properties"    href="../reference/uriworkermap.html"/>
+        <item name="Status Worker"              href="../reference/status.html"/>
+        <item name="Apache"                     href="../reference/apache.html"/>
+        <item name="IIS"                        href="../reference/iis.html"/>
+    </menu>
+
+    <menu name="Generic HowTo">
+        <item name="For the impatient"          href="../generic_howto/quick.html"/>
+        <item name="All about workers"          href="../generic_howto/workers.html"/>
+        <item name="Load Balancing"             href="../generic_howto/loadbalancers.html"/>
+    </menu>
+
+    <menu name="Webserver HowTo">
+        <item name="Apache"                     href="../webserver_howto/apache.html"/>
+        <item name="IIS"                        href="../webserver_howto/iis.html"/>
+        <item name="Netscape/SunOne/Sun"        href="../webserver_howto/nes.html"/>
+    </menu>
+
+    <menu name="AJP Protocol Reference">
+        <item name="AJPv13"                     href="../ajp/ajpv13a.html"/>
+        <item name="AJPv13 Extension Proposal"  href="../ajp/ajpv13ext.html"/>
+    </menu>
+
+    <menu name="Miscellaneous Documentation">
+        <item name="Frequently asked questions" href="../miscellaneous/faq.html"/>
+        <item name="Changelog"                  href="../miscellaneous/changelog.html"/>
+        <item name="Current Native:JK bugs"     href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Tomcat+5&amp;component=Native%3AJK&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=&amp;emailassigned_to2=1&amp;emailreporter2=1&amp;emailcc2=1&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0="/>
+        <item name="Contribute documentation"   href="../miscellaneous/doccontrib.html"/>
+        <item name="JK Status Ant Tasks"        href="../miscellaneous/jkstatustasks.html"/>
+        <item name="Reporting Tools"            href="../miscellaneous/reporttools.html"/>
+        <item name="Old JK/JK2 documentation"   href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html"/>
+    </menu>
+
+    <menu name="News">
+        <item name="2006"                       href="../news/20060101.html"/>
+        <item name="2005"                       href="../news/20050101.html"/>
+        <item name="2004"                       href="../news/20041100.html"/>
+    </menu>
+    
+</body>
+</project>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/status.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/status.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/status.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,459 @@
+<?xml version="1.0"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="status.html">
+
+    &project;
+
+    <properties>
+        <author email="rjung at apache.org">Rainer Jung</author>
+        <title>Status Worker Reference</title>
+    </properties>
+
+<body>
+
+<section name="Introduction">
+<br/>
+<p>
+Tomcat Connectors has a special type of worker, the so-called status worker.
+The status worker does not forward requests to Tomcat instances. Instead it allows
+to retrieve status and configuration information at runtime,
+and furthermore to change many configuration items dynamically. This can be done
+via a simple embedded web interface.
+</p>
+<p>
+The status worker is especially powerful, when used together with load balancing workers.
+The dynamic management features of load balancers in combination with the status worker
+are a good reason, to use load balancer workers on top of ajp13 workers, even if there would
+be only one member worker in the load balancer.
+</p>
+<p>
+This document does not explain the HTML user interface of the status worker.
+Until now it is very simple, so just go ahead and use it. This doc instead
+tries to explain the less obvious features of the status worker. We also will give a
+complete coverage of the various request parameters and their meaning, so that you can
+include the status worker in your automation scripts. 
+</p>
+<p>
+The documentation of the status worker starts with <b>jk 1.2.20</b>
+</p>
+</section>
+
+<section name="Usage Patterns">
+<br/>
+<subsection name="Actions">
+<br/>
+<p>
+The status worker knows about six actions.
+<ul>
+<li>
+<b>list</b>: lists the configurations and runtime information of all configured workers.
+The output will be grouped by global information first (version data), then load balancer
+information, after that AJP worker information and finally the legend. For load balancers,
+there will be a summary part, and after that details for each member worker. For all workers,
+we also include the URL mappings (forward definitions).
+</li>
+<li>
+<b>show</b>: the same as list, but only shows data for one chosen worker
+</li>
+<li>
+<b>edit</b>: produces a form to edit configuration data for a chosen worker. There is a
+special subtype of "edit", that makes it easy to change one attribute for all members of
+a load balancer, e.g. their activation state.
+</li>
+<li>
+<b>update</b>: commit changes made in an edit form. <b>Caution</b>: the changes will not be
+persisted to the configuration files. As soon as your restart your web server, all changes
+made through the status worker will be lost! On the other hand, the changes done by the status
+worker will be applied during runtime without a restart of the web server.
+</li>
+<li>
+<b>reset</b>: reset all runtime information for a load balancer
+or one of its members.
+</li>
+<li>
+<b>recover</b>: Mark a member of a load balancer, that is in error state, for immediate recovery.
+</li>
+<li>
+<b>version</b>: only show version information of the web server and the JK software
+</li>
+</ul>
+</p>
+</subsection>
+
+<subsection name="Output Format">
+<br/>
+<p>
+For most actions you can choose between 4 output formats.
+<ul>
+<li>
+<b>HTML</b>: Used interactively with a browser
+</li>
+<li>
+<b>XML</b>: Mostly useful for automation, when your scripting environment is XML friendly.
+This format has rich structure information, but does not work line based, so you would really
+like to use it together with XML tools.
+</li>
+<li>
+<b>Properties</b>: This format is a line based format, that conforms to the rules of Java
+property files. Most structure information is contained in the hierarchical key. For information,
+that is of configuration nature, the format should produce lines very similar to the ones you can
+use in workers.properties. It will not produce a complete configuration file!
+</li>
+<li>
+<b>Text</b>: A simple textual output format.
+</li>
+</ul>
+The "edit" action does only make sense for the HTML output type.
+</p>
+</subsection>
+
+<subsection name="User Interface Features">
+<br/>
+<p>
+In the HTML view, there is an <b>automatic refresh</b> feature, implemented via the meta refresh
+option of HTML. Once you start the automatic refresh, the UI will will respect it for all actions
+except edit, update and maintain. Even if you navigate through one of those, the automatic refresh
+will start again as soon as you come back to one of the other actions.
+</p>
+<p>
+Many parts of the HTML page can be minimized, if they are not interesting for you. There are a couple
+of "Hide" links, which will collapse parts of the information. The feature exists for the following
+blocks of information:
+<ul>
+<li>
+<b>Legend</b>: Do not show the legend for the information presented in "list" and "show" actions
+</li>
+<li>
+<b>Load Balancer Workers</b>: Do not show workers of type "lb"
+</li>
+<li>
+<b>AJP Workers</b>: Do not show workers of type ajp
+</li>
+<li>
+<b>Member Workers</b>: Do not show detailed information concerning each member of load balancers
+</li>
+</ul>
+</p>
+</subsection>
+
+<subsection name="Special Considerations concerning URL Maps and Virtual Hosts">
+<br/>
+<p>
+The Apache module mod_jk makes use of the internal Apache httpd infrastructure concerning
+virtual hosts. The downside of this is, that the status worker can only show URL maps, for
+the virtual host it is defined in. It is not able to reach the configuration objects
+for other virtual hosts. Of course you can define a status worker in any virtual host you
+are using. All information presented apart from the URL maps will be the same, independant
+of the virtual host the status worker has been called in.
+</p>
+</subsection>
+
+<subsection name="Logging">
+<br/>
+<p>
+The status worker will log changes made to the configuration with log level "info" to the usual
+JK log file. Invalid requests will be logged with log level "warn". If you want to report some
+broken behaviour, log file content of level "debug" or even "trace" will be useful.
+</p>
+</subsection>
+
+</section>
+
+<section name="Configuration">
+<br/>
+<subsection name="Basic Configuration">
+<br/>
+<p>
+The basic configuration of a status worker is very similar to that of a usual ajp worker.
+You need to specify a name for the worker, and the URLs you want to map to it. The first
+part of the configuration happens in the workers.properties file. We define a worker named
+mystatus of type status:
+<source>
+worker.list=mystatus
+worker.mystatus.type=status
+</source>
+Then we define a URL, which should be mapped to this worker, i.e. the URL we use
+to reach the functionality of the status worker. You can use any method mod_jk supports
+for the web server of your choice. Possibilities are maps inside uriworkermap.properties,
+an additional mount attribute in workers.properties, or in Apache JkMount. Here's an
+example for a uriworkermap.properties line:
+<source>
+/private/admin/mystatus=mystatus
+</source>
+The URI pattern is case sensitive.
+</p>
+<p>
+As you will learn in the following sections, the status worker is very powerful. You should
+use the usual authentication and authorisation methods of your web server to secure this URL.
+</p>
+<p>
+You can also define multiple instances of the status worker, by using different names and URL mappings.
+For instance you might want to configure them individually
+and then allow special groups of people to use them
+</p>
+</subsection>
+
+<subsection name="Output Customization">
+<br/>
+<p>
+There are a couple of attributes for the workers.properties entries, which allow to customize
+various aspects of the output of the status worker.
+</p>
+<p>
+The attribute <b>css</b> can be set to the URL of a stylesheet:
+<source>
+worker.mystatus.css=/private/admin/static/mystatus.css
+</source>
+When writing HTML output, the status worker then includes the line
+<source>
+<link rel="stylesheet" type="text/css" href="/private/admin/static/mystatus.css" />
+</source>
+There is no sample stylesheet included with the mod_jk release, and by default the attribute css
+is empty, so no stylesheet reference will be included in the pages. The HTML code
+of the status worker output pages does not include any class attributes. If you like to contribute a
+stylesheet or improvements to the HTML layout, please contact us on the tomcat developers list.
+</p>
+<p>
+The properties output format can be customized via the attribute <b>prefix</b>. The names of all
+properties the status worker does output, will begin with this prefix. The default is "worker".
+</p>
+<p>
+Several attributes influence the format when writing XML output.
+The attribute <b>ns</b> allows to set a namespace prefix, that will be used for every status worker+element.
+The default is "jk:". Setting it to "-" disables the namesspace prefix.
+</p>
+<p>
+With the attribute xmlns you can map the prefix to a namespace URL. The default value
+is xmlns:jk="http://tomcat.apache.org". Setting it to "-" disables the output of the URL.
+</p>
+<p>
+Finally you can specify an XML document type via the attribute doctype. The specified string will 
+be inserted at the beginning of the document, directly after the xml header. The default is empty.
+</p>
+</subsection>
+
+<subsection name="Securing Access">
+<br/>
+<p>
+We urge you to use the builtin access control features of your web server to control
+access to the status worker URLs you have chosen. Nevertheless two configuration
+attributes of status workers are helpful. The attribute "read_only" disables all features of
+the status worker, that can be used to change configurations or runtime status of the other workers.
+A read_only status worker will not allow access to the edit, update, reset or recover actions.
+The default value is "False", ie. read/write. To enable read_only you need to set it to "True".
+</p>
+<p>
+You could configure two status workers, one has read_only and will be made available to a larger
+admin group, the other one will be used fully featured, but only by fewer people:
+<source>
+worker.list=jk-watch
+worker.jk-watch.type=status
+worker.jk-watch.read_only=True
+worker.jk-watch.mount=/user/status/jk
+worker.list=jk-manage
+worker.jk-manage.type=status
+worker.jk-manage.mount=/admin/status/jk
+</source>
+Starting with version 1.2.21, a read/write status worker can also be switched temporarily
+into read-only mode by the user via a link in the HTML GUI. The user can always switch it
+back to read/write. Only a status worker configured as read-only via the "read_only" attribute
+is completely safe from applying any changes.
+</p>
+<p>
+The other attribute you can use is <b>user</b>. By default this list is empty, which means
+no limit on the users. You can set "user" to a comma separated list of user names. If your
+web server is configured such that it sends the user names with the request, the status worker
+will check, if the name attached with the request is contained in it's "user" list.
+</p>
+<p>
+The user list can be split over multiple occurences of the "user" attribute.
+</p>
+<p>
+By default, the user names are matched case sensitively. Starting with version 1.2.21 you can set
+the attribute <b>user_case_insensitive</b> to "True". Then the comparison will be made case insensitive.
+</p>
+</subsection>
+
+<subsection name="Service Availability Rating">
+<br/>
+<p>
+For load balancing workers the status worker shows some interesting overview information.
+It categorizes the members of the load balancer into the classes "good", "bad" and degraded".
+This feature can be combined with external escalation procedures. Depending on your global
+system design and your operating practises your preferred categorization might vary.
+</p>
+<p>
+The categorization is based on the activation state of the workers (active, disabled or stopped),
+which is a pure configuration state, and the runtime state
+(OK, N/A, busy, recovering, probing, forced recovery, error)
+which only depends on the runtime situation.
+</p>
+<p>
+By default the status worker groups into "good" all members, that have activation "active" and
+runtime state not equal to "error". The "bad" group consists of the members, that have either activation
+"stopped", or are in runtime state "error".
+</p>
+<p>
+Workers that fit neither of the two groups, are considered to be "degraded".
+</p>
+<p>
+You can define other rules for the grouping into good, bad and degraded.
+The two attributes "good" and "bad" can be populated by a comma-separated list ob single characters or
+dot-separated pairs. Each character stands for the first character of one of the possible states "active",
+"disabled", "stopped", "ok", "na", "busy", "recovering" and "error". The additional states "probing"
+and "forced recovery" are always rated equivalent to "recovering".
+Comma-separated entries will be combined
+with logical "or", if you combine a configuration and a runtime state with a dot. the are combined with logical
+"and". So the default value for "good" is "a.o,a.n,a.b,a.r", for "bad" it is "e,s".
+</p>
+<p>
+The status worker first tries to match against the "bad" definitions, if this doesn't succeed
+it tries to macth against "good", and finally it choses "degarded", if no "bad" or "good" match
+can be found.
+</p>
+</subsection>
+</section>
+
+<section name="Request Parameters">
+<br/>
+<p>
+This section should help you building automation scripts based on the jk status
+management interface. This interface is still not stable, we expect further
+improvements in the next releases. It is well possible, that the request parameters
+might change in an incompatible way. So be prepared to change you scripts when
+updating to future versions.
+</p>
+<subsection name="Actions">
+<br/>
+<p>
+The action is determined by the parameter <b>cmd</b>. It can have the values "list", "show",
+"edit", "update", "reset", "recover" and "version". If you omit the "cmd" parameter,
+the default "list" will be used.
+All actions except for "list" and "refresh" need additional parameters.
+</p>
+</subsection>
+<subsection name="Output Format">
+<br/>
+<p>
+The format is determined by the parameter <b>mime</b>. It can have the values "html", "xml",
+"txt" and "prop". If you omit the "mime" parameter, the default "html"
+will be used. The action "edit" (the edit form) does only make sense for "mime=html".
+</p>
+</subsection>
+<subsection name="Worker Selection">
+<br/>
+<p>
+Actions that operate on a single worker need one or two additional parameters to select
+this worker. The parameter <b>w</b> contains the name of the worker from the worker list.
+If an action operates on a member (sub worker) of a load balancer, the parameter "w"
+contains the name of the load balancer worker, and the additional parameter <b>sw</b> contains the
+name of the sub worker.
+</p>
+</subsection>
+<subsection name="Automatic Refresh">
+<br/>
+<p>
+During automatic refresh, the parameter <b>re</b> contain the refresh interval in seconds.
+If you omit this parameter, automatic refresh will be off.
+</p>
+</subsection>
+<subsection name="Hide Options">
+<br/>
+<p>
+The parameter <b>opt</b> contains a bit mask of activated options. The default is 0, so
+by default no options are activated. The following options exist:
+<ul>
+<li>
+<b>0x0001</b>: hide members of lb workers
+</li>
+<li>
+<b>0x0002</b>: hide URL maps
+</li>
+<li>
+<b>0x0004</b>: hide the legend
+</li>
+<li>
+<b>0x0008</b>: hide load balancer workers
+</li>
+<li>
+<b>0x0010</b>: hide ajp workers
+</li>
+<li>
+<b>0x0020</b>: only allow read_only actions for a read/write status worker.
+</li>
+</ul>
+</p>
+</subsection>
+<subsection name="Data Parameters for the standard Update Action">
+<br/>
+<p>
+You can use the edit action with a final click to the update button, to change settings of workers.
+But you can also make direct calls to the update action. The following request parameters 
+contain the configuration information, you want to change. First the list for load balancer workers:
+<ul>
+<li>
+<b>lr</b>: retries (number)
+</li>
+<li>
+<b>lt</b>: recover_time (seconds)
+</li>
+<li>
+<b>ls</b>: sticky_session (0/f/n/off=off, 1/t/y/on=on; case insensitive)
+</li>
+<li>
+<b>lf</b>: sticky_session_force (0/f/n/off=off, 1/t/y/on=on; case insensitive)
+</li>
+<li>
+<b>lm</b>: method (0/r="Requests", 1/t="Traffic", 2/b="Busyness", 3/s="Sessions"; case insensitive, only first character is used)
+</li>
+<li>
+<b>ll</b>: lock (0/o="Optimistic", 1/p="Pessimistic"; case insensitive, only first character is used)
+</li>
+</ul>
+And now the list of parameters you can use to change settings for load balancer members:
+<ul>
+<li>
+<b>wa</b>: activation flag (0/a="active", 1/d="disabled", 2/s="stopped"; case insensitive, only first character is used)
+</li>
+<li>
+<b>wf</b>: load balancing factor (integer weight)
+</li>
+<li>
+<b>wn</b>: route for use with sticky sessions (string)
+</li>
+<li>
+<b>wr</b>: redirect to define simple failover rules (string)
+</li>
+<li>
+<b>wc</b>: domain to tell JK about your replication design (string)
+</li>
+<li>
+<b>wd</b>: distance to express preferences (integer)
+</li>
+</ul>
+For the details of all parameters, we refer to the <a href="workers.html">workers.properties Reference</a>.
+</p>
+</subsection>
+<subsection name="Aspect Editing for Load Balancer Members">
+<br/>
+<p>
+You can use the edit action to edit all settings for a load balancer or for a
+member of a load balancer respectively on one page. If you want to edit one
+configuration aspect for all members of a load balancer simultaneously, this
+will be triggered by the parameter <b>att</b>. The value of the parameter indicates,
+which aspect you want to edit. The list is the same as in the previous section:
+"wa", "wf", "wn", "wr", "wc" and "wd". But here you
+need to put the name into the parameter "att", instead of using it as a request
+parameter name.
+</p>
+<p>
+The values of the common aspect for all the load balancer members will be given
+in parameters named "val1", "val2", ....
+</p>
+</subsection>
+</section>
+
+</body>
+</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/uriworkermap.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/uriworkermap.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/uriworkermap.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,270 @@
+<?xml version="1.0"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="uriworkermap.html">
+
+    &project;
+
+    <properties>
+        <author email="rjung at apache.org">Rainer Jung</author>
+        <author email="mturk at apache.org">Mladen Turk</author>
+        <title>uriworkermap.properties configuration</title>
+    </properties>
+
+<body>
+
+<section name="Introduction">
+<br/>
+<p>
+The forwarding of requests from the web server to tomcat gets configured by defining mapping rules.
+Such a rule maps requests to workers. The request part of the map is described by a URI pattern,
+the worker by it's worker name.
+</p>
+<p>
+The so-called <b>uriworkermap</b> file is a mechanism of defining rules,
+which works for all web servers. There exist also other web server specific configuration
+options for defining rules, which will be mostly discussed on the reference pages for
+configuring tomcat connectors for the individual web servers.
+</p>
+<p>
+The name of the file is usually uriworkermap.properties,
+although this is configurable in the web server.
+Please consult the web server specific documentation pages on
+how to enable the uriworkermap file.
+</p>
+<p>
+The main features supported by the uriworkermap file are
+<ul>
+<li>
+Exact and wildchar matches, shortcuts to map a directory and all including content.
+</li>
+<li>
+Exclusion rules, disabling of rules an defined preferences behaviour.
+</li>
+<li>
+Virtual host integration: uri mapping rules can be expressed per virtual host.
+The details are web server specific though.
+</li>
+<li>
+Dynamic reloading: The file gets checked periodically for changes.
+New versions are automatically reloaded without web server restarts.
+</li>
+<li>
+Integration with the status worker.
+</li>
+<li>
+Support for comments in the rule file.
+</li>
+</ul>
+The following sections describe these aspects in more detail.
+</p>
+</section>
+
+<section name="Syntax">
+<br/>
+<subsection name="Line format">
+<br/>
+<p>
+The file has a line based format. There are no continuation characters,
+so each rule needs to be defined on a single line. Each rule is a pair consisting
+of a URI pattern and a worker name, combined by an equals sign '=':
+<source>
+  /myapp=myworker
+</source>
+The URI pattern is case sensitive.
+</p>
+</subsection>
+<subsection name="Comments, white space">
+<br/>
+<p>
+All text after and including the character '#' gets ignored and can be used for comments.
+Leading and trailing white space gets trimmed around the URI pattern and also around the worker name.
+The following definitions are all equivalent:
+<source>
+  # This is a white space example
+  /myapp=myworker
+     /myapp=myworker
+  /myapp  =  myworker
+</source>
+</p>
+</subsection>
+
+<subsection name="URI patterns">
+<br/>
+<p>
+Inside the URI pattern three special characters can be used, '*', '?' and '|'.
+The character '*' is a wildchar that matches any number of arbitrary characters
+in the URI, '?' matches exactly one character.
+Each URI pattern has to start with the character '/', or with '*' or with '?',
+optionally prefixed by any combination of the modifiers '!' and '-' (see next section).
+<source>
+  # Mapping the URI /myapp1 and everything under /myapp1/:
+  /myapp1=myworker-a
+  /myapp1/*=myworker-a
+  # Mapping all URI which end with a common suffix:
+  *.jsp=myworker
+  *.do=myworker
+</source>
+Since the first case of mapping a certain location and everything inside
+it is very common, the character '|' gives a handy shortcut:
+<source>
+  # Mapping the URI /myapp1 and everything under /myapp1/:
+  /myapp1|/*=myworker-a
+</source>
+The pattern 'X|Y' is exactly equivalent to the two maps 'X' and 'XY'.
+</p>
+</subsection>
+</section>
+
+<section name="Exclusion, Disabling and Preferences">
+<br/>
+
+<subsection name="Exclusions and rule disabling">
+<br/>
+<p>
+Exclusion rules allows to define exclusions from URI rules, which would forward
+requests to tomcat. If the exclusion rule matches, the request will not be forwarded.
+This is usually used to serve static content by the web server.
+An rule is an exclusion rule, if it is suffixed with '!':
+<source>
+  # Mapping the URI /myapp and everything under /myapp/:
+  /myapp|/*=myworker
+  # Exclude the subdirectory static:
+  !/myapp/static|/*=myworker
+  # Exclude some suffixes:
+  !*.html=myworker
+</source>
+</p>
+<p>
+Rule disabling comes into play, if your web server merges rules from various sources,
+and you want to disable any rule defined previously. Since the uriworkermap file gets
+reloaded dynamically, you can use this to temporarily disable request forwarding:
+An rule gets disabled, if it is suffixed with '-':
+<source>
+  # We are not in maintenance.
+  # The maintenance rule got defined someahere else.
+  -/*=maintenance
+</source>
+Exclusion rules can get disabled as well, then the rule starts with '-!'.
+</p>
+</subsection>
+
+<subsection name="Mapping preferences">
+<br/>
+<p>
+The most restrictive URI pattern is applied first. More precisely the URI patterns are
+sorted by the number of '/' characters in the pattern (highest number first), and
+rules with equal numbers are sorted by their string length (longest first).
+</p>
+<p>
+If both distinctions still do not suffice, then the defining source of the rule is considered.
+Rules defined in uriworkermap.properties come first, before rules defined by JkMount (Apache)
+and inside workers.properties using the mount attribute.
+</p>
+<p>
+All disabled rules are ignored. Exclusion rules are applied after all normal rules
+have been applied.
+</p>
+<p>
+There is no defined behaviour, for the following configuration conflict:
+using literally the same URI pattern in the same defining source but with
+different worker targets.
+</p>
+</subsection>
+</section>
+
+<section name="Virtual host integration">
+<br/>
+
+<subsection name="IIS">
+<br/>
+<p>
+When using IIS you can restrict individual rules to special virtual hosts
+by prefixing the URI pattern with the virtual host information.
+The rules is that the url must be prefixed with the host name.
+<source>
+  # Use www.foo.org as virtual host
+  /www.foo.org/myapp/*=myworker
+  # Use www.bar.org as virtual host
+  /www.bar.org/myapp/*=myworker
+  # Normal mapping
+  /mysecondapp/*=myworker
+</source>
+</p>
+<p>
+Note that /mysecondapp/* will be mapped to all virtual hosts present.
+In  case one needs to prevent the mappings to some particular virual host then
+the exclusion rule must be used
+<source>
+  # Make sure the myapp is accessible by all virtual hosts
+  /myapp/*=myworker
+  # Disable mapping myapp for www.foo.org virtual host
+  !/www.foo.org/myapp/*=myworker
+</source>
+</p>
+</subsection>
+
+<subsection name="Apache httpd">
+<br/>
+<p>
+For Apache you can define individual uriworkermap files per virtual host.
+The directive JkMountFile can be used in the main server and in each virtual host.
+If a virtual host does not use JkMountfile, but JkMountCopy is set to 'On',
+then it inhertis the JkMountFile from the main server.
+</p>
+</subsection>
+</section>
+
+<section name="Dynamic reloading">
+<br/>
+<p>
+When a request is being processed, tomcat connectors check the file modification time
+of the uriworkermap file. To keep the performance penalty low, this happens only,
+if the last check happened at least n seconds ago.
+</p>
+<p>
+For Apache you can configure the interval "n" using the directive JkMountFile,
+for IIS you would use the attribute worker_mount_reload.
+The default value is 60 seconds. A value of "0" turns off the reloading.
+</p>
+<p>
+If the file changed, it gets reloaded completely. If there exist rules coming
+from other sources than the uriworkermap file (e.g. the workers.properties mount
+attribute or JkMount with Apache httpd), the new uriworkermap file gets dynamically
+merged with these ones exactly like when you do a web server restart.
+</p>
+<p>
+Until version 1.2.19 reloading behaved slightly differently: it continuously added
+the full contents of the uriworkermap file to the rule mapping. The merging rules
+were, that duplicated got eliminated and old rules could be disabled, by defining the
+rule as disabled in the new file. Rules never got deleted.
+</p>
+</section>
+
+<section name="Status worker integration">
+<br/>
+<p>
+The configuration view of the status worker also shows the various mapping rules.
+After each worker's configuration, the rules are listed, that forward to this worker.
+The list contains three columns:
+<ul>
+<li>
+the type of the rule: Exact or Wildchar, eventually prefixed with Disabled or Unmount (for exclusion rules)
+</li>
+<li>
+the URI pattern
+</li>
+<li>
+and the source of the rule definition: 'worker definition' for the workers.properties file (mount attribute),
+'JkMount' for Apache httpd JkMount and it's relatives and finally 'uriworkermap' for the uriworkermap file.
+</li>
+</ul>
+For Apache httpd, there is an important subtlety: the request going to the status worker
+gets executed in the context of some server (main or virtual). The status worker will only show the
+mapping rules, that are defined for this server (main or virtual).
+</p>
+</section>
+
+</body>
+</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/workers.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/workers.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference/workers.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,842 @@
+<?xml version="1.0"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="workers.html">
+
+    &project;
+
+    <properties>
+        <author email="mturk at apache.org">Mladen Turk</author>
+        <title>workers.properties configuration</title>
+    </properties>
+
+<body>
+
+<section name="Introduction">
+<br/>
+<p>
+A <b>Tomcat worker</b> is a Tomcat instance that is waiting to execute servlets or any other content
+on behalf of some web server. For example, we can have a web server such as
+Apache forwarding servlet requests to a Tomcat process (the worker) running behind it.
+</p>
+<p>
+The scenario described above is a very simple one;
+in fact one can configure multiple Tomcat workers to serve servlets on
+behalf of a certain web server.
+The reasons for such configuration can be:
+</p>
+<ul>
+<li>
+We want different contexts to be served by different Tomcat workers to provide a
+development environment where all the developers share the same web server but
+own a Tomcat worker of their own.
+</li>
+<li>
+We want different virtual hosts served by different Tomcat processes to provide a
+clear separation between sites belonging to different companies.
+</li>
+<li>
+We want to provide load balancing, meaning run multiple Tomcat workers each on a
+machine of its own and distribute the requests between them.
+</li>
+</ul>
+
+<p>
+There are probably more reasons for having multiple workers but I guess that this list is enough...
+Tomcat workers are defined in a properties file dubbed <b>workers.properties</b> and this tutorial
+explains how to work with it.
+</p>
+</section>
+
+<section name="Directives">
+<br/>
+<p>Each workers.properties directive consists of three words separated by dot. The first word is always
+<b>worker</b>. The second word is the worker name that can be any name. The worker name reflects the
+name of the <b>jvmRoute</b> defined in Tomcat's server.xml configuration file.
+</p>
+<p>
+<warn>
+The name of the worker can contain only the alphanumeric characters <b>[a-z][A-Z][0-9][_\-]</b> and is case sensitive.
+</warn>
+</p>
+
+<subsection name="Defining workers">
+<br/>
+<p>The generic workers.properties directive is in the form:</p>
+<p><strong>worker.&lt;worker name&gt;.&lt;directive&gt;=&lt;value&gt;</strong></p>
+<p>Defining workers to the Tomcat web server plugin can be done using a properties file
+(a sample file named workers.properties is available in the conf/ directory).
+</p>
+<directives>
+<directive name="worker.list" default="ajp13" required="true">
+A comma separated list of workers names that the JK will use. When starting up,
+the web server plugin will instantiate the workers whose name appears in the
+worker.list property, these are also the workers to whom you can map requests.
+<p>
+This directive can be used multiple times.
+</p>
+</directive>
+<directive name="worker.maintain" default="60" required="false">
+Worker connection pool maintain interval in seconds. If set to the positive
+value JK will scan all connections for all workers specified in worker.list
+directive and check if connections needs to be recycled.
+<p>
+Furthermore any load balancer does a global maintenance every worker.maintain
+seconds. During global maintenance load counters are decayed and workers
+in error are checked for recover_time.
+</p>
+<p>
+This feature has been added in <b>jk 1.2.13</b>.
+</p>
+</directive>
+</directives>
+</subsection>
+
+<subsection name="Mandatory directives">
+<br/>
+<p>Mandatory directives are the one that each worker <b>must</b> contain. Without them the worker will
+be unavailable or will misbehave.
+</p>
+<directives>
+<directive name="type" default="ajp13" required="true">
+Type of the worker (can be one of ajp13, ajp14, jni, lb or status). The type of the worker
+defines the directives that can be applied to the worker.
+<p>AJP13 worker is the preferred worker type that JK uses for communication
+between web server and Tomcat. This type of worker uses sockets as communication
+channel. For detailed description of the AJP13 protocol stack browse to
+<a href="../ajp/ajpv13a.html">AJPv13 protocol specification</a>
+</p>
+</directive>
+</directives>
+</subsection>
+
+<subsection name="Connection directives">
+<p>Connection directives defines the parameters needed to connect and maintain
+the connections pool of persistent connections between JK and remote Tomcat.
+</p>
+<directives>
+
+<directive name="host" default="localhost" required="false">
+Host name or IP address of the backend Tomcat instance. The remote Tomcat must
+support the ajp13 protocol stack. The host name can have a <b>port</b> number
+embedded separated by the colon (':') character.
+</directive>
+
+<directive name="port" default="8009" required="false">
+Port number of the remote Tomcat instance listening for defined protocol requests.
+The default value depends on the worker type. For AJP13 workers the default port is
+<b>8009</b>, while for AJP14 type of worker that value is <b>8011</b>.
+</directive>
+
+<directive name="socket_timeout" default="0" required="false">
+Socket timeout in seconds used for communication channel between JK and remote host.
+If remote host does not respond inside that timeout the JK will generate an error,
+and retry again. If set to value zero (default) the JK will wait for infinite
+on all socket operations.
+</directive>
+
+<directive name="socket_keepalive" default="False" required="false">
+This directive should be used when you have a firewall between your webserver
+and the Tomcat engine, who tend to drop inactive connections. This flag will told Operating System
+to send <code>KEEP_ALIVE</code> message on inactive connections (interval depend on global OS settings,
+generally 120 minutes), and thus prevent the firewall to cut the connection.
+To enable keepalive set this property value to the <b>True</b>.
+<p>
+The problem with Firewall cutting inactive connections is that sometimes, neither webserver or tomcat
+have information about the cut and couldn't handle it.
+</p>
+</directive>
+
+<directive name="retries" default="2" required="false">
+The number of retries that the worker will try in case of error returned from remote
+Tomcat. If the number of retries set is greater than two (the default value), on
+each retry after default an extra wait of 100ms will be inserted.
+</directive>
+
+<directive name="connection_pool_size" default="see text" required="false">
+This defines the number of connections made to the AJP backend that
+are maintained as a connection pool.
+It will limit the number of those connection that each web server child
+process can made.
+<p>
+Connection pool size property is used only for multi threaded
+web servers such as Apache 2.0 (worker), IIS and Netscape. The connection_pool_size property
+should reflect the number of threads per child process. JK will discover
+the number of threads per child process on Apache 2 web server with worker-mpm and set
+its default value to match the ThreadsPerChild Apache directive. For IIS the default
+value is 10. For other web servers than Apache or IIS this value has to be set manually.
+</p>
+<warn>Do not use connection_pool_size with values higher then 1 on <b>Apache 2.x prefork</b> or <b>Apache 1.3.x</b>!</warn>
+</directive>
+
+<directive name="connection_pool_minsize" default="(pool+1)/2" required="false">
+Minimum size of the connection pool that will be maintained.
+<p>
+Its default value is (connection_pool_size+1)/2.
+</p>
+<warn>Do not use connection_pool_size with values higher then 1 on <b>Apache 2.x prefork</b> or <b>Apache 1.3.x</b>!</warn>
+<p>
+This feature has been added in <b>jk 1.2.16</b>.
+</p>
+</directive>
+
+<directive name="connection_pool_timeout" default="0" required="false">
+Cache timeout property should be used with <b>connection_pool_size</b> to specify how many seconds JK should keep
+an inactive socket in cache before closing it. This property should be used to reduce the number of threads
+on the Tomcat web server. The default value zero disables the closing (infinite timeout).
+<p>
+Each child could open an ajp13 connection if it have to forward a request to Tomcat, creating
+a new ajp13 thread on Tomcat side.
+</p>
+<p>
+The problem is that after an ajp13 connection is created, the child won't drop it
+until killed. And since the webserver will keep its childs/threads running
+to handle high-load, even it the child/thread handle only static contents, you could
+finish having many unused ajp13 threads on the Tomcat side.
+</p>
+</directive>
+
+<directive name="lbfactor" default="1" required="false">
+Only used for a member worker of a load balancer.
+<p>
+The integer number lbfactor (load-balancing factor) is
+<i>how much we expect this worker to work</i>, or
+<i>the worker's work quota</i>. Load balancing factor is compared with other workers
+that makes the load balancer. For example if one worker has lb_factor 5 times higher then
+other worker, then it will receive five times more requests.
+</p>
+</directive>
+
+</directives>
+
+</subsection>
+
+<subsection name="Load balancing directives">
+<br/>
+<p>Load balancer is a virtual worker that does not really communicate with Tomcat workers.
+Instead it is responsible for the management of several "real" workers.
+The worker is supposed to be a load balancer if it's worker type is <b>lb</b>.
+See worker's <b>type</b> directive. The workers that
+are member of load balancer must not appear in the <b>worker.list</b> directive.
+</p>
+<p>Loadbalancer directives defines the parameters needed to create a workers that are
+connecting to a remote cluster of backend Tomcat servers. Each cluster node has to
+have a worker defined.
+</p>
+<p>
+Load balancer management includes:
+</p>
+
+<ul>
+<li>
+Instantiating the workers in the web server.
+</li>
+<li>
+Using the worker's load-balancing factor, perform weighed-round-robin load balancing where
+high lbfactor means stronger machine (that is going to handle more requests)
+</li>
+<li>
+Keeping requests belonging to the same session executing on the same Tomcat worker.
+</li>
+<li>
+Identifying failed Tomcat workers, suspending requests to them and instead fall-backing on
+other workers managed by the lb worker.
+</li>
+</ul>
+
+<p>
+The overall result is that workers managed by the same lb worker are load-balanced
+(based on their lbfactor and current user session) and also fall-backed so a single
+Tomcat process death will not "kill" the entire site.
+The following table specifies properties that the lb worker can accept:
+</p>
+
+<directives>
+<directive name="balance_workers" default="" required="true">
+A comma separated list of workers that the load balancer
+need to manage.
+<p>
+This directive can be used multiple times for the same load balancer.
+</p>
+<p>
+This directive replaces old <b>balanced_workers</b> directive and
+can be used only with mod_jk versions 1.2.7 and up.
+</p>
+<warn>These workers should <b>not</b> appear in the worker.list property!</warn>
+</directive>
+
+<directive name="sticky_session" default="True" required="false">
+Specifies whether requests with SESSION ID's should be routed back to the same
+Tomcat worker. If sticky_session is set to <b>True</b> or <b>1</b> sessions are sticky, otherwise
+sticky_session is set to <b>False</b>. Set sticky_session to <b>False</b> when Tomcat
+is using a Session Manager which can persist session data across multiple
+instances of Tomcat. By default sticky_session is set to True.
+</directive>
+
+<directive name="sticky_session_force" default="False" required="false">
+Specifies whether requests with SESSION ID's for workers that are in error state
+should be rejected. If sticky_session_force is set to <b>True</b> or <b>1</b>
+and the worker that matches that SESSION ID is in error state, client will
+recieve 500 (Server Error). If set to <b>False</b> or <b>0</b> failover on
+another worker will be issued with loosing client session. This directive is
+used only when you set <b>sticky_session=True</b>.
+<p>
+This feature has been added in <b>jk 1.2.9</b>.
+</p>
+</directive>
+
+<directive name="method" default="Request" required="false">
+Specifies what method load balancer is using for electing the best worker.
+Please note, that session stickyness and perfect load balancing are
+conflicting targets, especially when the number
+of sessions is small, or the usage of sessions is extremely varying
+For huge numbers of sessions this usually is not a problem.
+<p>
+Some methods note, that they aggregate in a sliding time window. They add up
+accesses, and on each run of the global maintain method, the load counters
+get divided by 2. Usually this happens once a minute, depending on the
+setting of worker.maintain. The value of the load counters can be inspected
+using the status worker.
+</p>
+<p>
+If method is set to <b>R[equest]</b> the balancer will use number of requests
+to find the best worker. Accesses will be distributed according to the
+lbfactor in a sliding time window. This is the default value and should be
+working well for most applications.
+</p>
+<p>
+If method is set to <b>S[ession]</b> the balancer will use number of sessions
+to find the best worker. Accesses will be distributed according to the
+lbfactor in a sliding time window. Because the balancer does not keep any state,
+it actually does not know the number of sessions. Instead it counts each request
+without a session cookie or URL encoding as a new session. This method will neither
+know, when a session is being invalidated, nor will it correct its load numbers
+according to session timeouts or worker failover. This method should be used,
+if sessions are your limiting resource, e.g. when you only have limited memory
+and your sessions need a lot of memory.
+</p>
+<p>
+If set to <b>T[raffic]</b> the balancer will use
+the network traffic between JK and Tomcat to find the best worker.
+Accesses will be distributed according to the lbfactor in a sliding time window.
+This method should be used, if network to and from the backends is your
+limiting resource.
+</p>
+<p>
+If set to <b>B[usyness]</b> the balancer will
+pick the worker with the lowest current load, based on how many requests the
+worker is currently serving. This number is divided by the workers lbfactor,
+and the lowest value (least busy) worker is picked. This method is especially
+interesting, if your request take a long time to process, like for a download
+application.
+</p>
+<p>
+This feature has been added in <b>jk 1.2.9</b>.
+The Session method has been added in <b>jk 1.2.20</b>.
+</p>
+</directive>
+
+<directive name="lock" default="Optimistic" required="false">
+Specifies what lock method the load balancer will use for synchronizing
+shared memory runtime data.
+If lock is set to <b>O[ptimistic]</b> balancer will not use shared memory lock
+to find the best worker. If set to <b>P[essimistic]</b> balancer will use
+shared memory lock. The balancer will work more accurately in case of
+Pessimistic locking, but can slow down the average response time.
+<p>
+This feature has been added in <b>jk 1.2.13</b>.
+</p>
+</directive>
+
+<directive name="secret" default="" required="false">
+Set a default secret word for all defined workers.
+See worker secret attribute description for more info.
+<p>
+This feature has been added in <b>jk 1.2.12</b>.
+</p>
+</directive>
+
+</directives>
+
+</subsection>
+
+<subsection name="Status Worker directives">
+<br />
+<p>
+The status worker does not communicate with Tomcat.
+Instead it is responsible for the load balancer management.
+</p>
+<directives>
+<directive name="css" default="" required="false">
+Specifies the url for cascading stylesheet to use.
+</directive>
+<directive name="read_only" default="False" required="false">
+A status worker with read_only=True will not allow any operations,
+that change the runtime state or configuration of the other workers.
+These are edit/update/reset/recover.
+<p>
+This feature has been added in <b>jk 1.2.20</b>.
+</p>
+</directive>
+<directive name="user" default="" required="false">
+It is a list of users
+which gets compared to the user name authenticated by the web server.
+If the name is not contained in this list, access is denied. Per
+default the list is empty and then access is allowed to anybody.
+<p>
+This directive can be used multiple times.
+</p>
+<p>
+This feature has been added in <b>jk 1.2.20</b>.
+</p>
+</directive>
+<directive name="user_case_insensitive" default="False" required="false">
+By default, the user names are matched case sensitively. You can set
+user_case_insensitive=True to make the comparison case insensitive.
+This may be especially useful on the Windows platform.
+<p>
+This feature has been added in <b>jk 1.2.21</b>.
+</p>
+</directive>
+<directive name="good" default="a.o,a.n,a.b,a.r" required="false">
+For every load balancer worker, the status worker shows a summary
+of the state of its members. There are three such states,
+"good", "bad" and "degraded".
+<p>
+These states are determined depending on the activation of the members
+(active, disabled, stopped) and their runtime state
+(ok, n/a, busy, recovering, probing, forced recovery, error).
+By default, members are assumed to be "good", if their activation
+is "active" and their runtime state is not "error".
+</p>
+<p>
+You can change this mapping, by assigning a list of values to the
+attribute "good". Each value gives a possible match for the members,
+and one match suffices. Each value is either a single character, or two
+characters combined with a dot ".". The single characters are the
+first characters in the words "active", "disabled", "stopped",
+"ok", "na", "busy", "recovering", "error". The additional states "probing"
+and "forced recovery" are always rated equivalent to "recovering".
+If a value consists only
+of a single character, then all members with this activation or runtime
+state will be assumed good. A combination of an activation and a runtime
+state concatenated with a dot "." does only apply to a member, that has
+exactly this activation and state.
+</p>
+<p>
+Members of a load balancer will first be matched against the state "bad",
+if they don't match, the state "good" will be tried, and if they
+still don't match, their state will be "degraded".
+</p>
+<p>
+This directive can be used multiple times.
+</p>
+<p>
+This feature has been added in <b>jk 1.2.20</b>.
+</p>
+</directive>
+<directive name="bad" default="s,e" required="false">
+See: "good".
+<p>
+By default, members are assumed to be "bad", if their activation
+is "stopped" or their runtime state is "error".
+</p>
+<p>
+This directive can be used multiple times.
+</p>
+<p>
+This feature has been added in <b>jk 1.2.20</b>.
+</p>
+</directive>
+<directive name="prefix" default="worker" required="false">
+The prefix, which will be used by the status worker
+when producing properties output (mime=prop).
+Each property key will be prefixed by this value.
+<p>
+This feature has been added in <b>jk 1.2.20</b>.
+</p>
+</directive>
+<directive name="ns" default="jk:" required="false">
+This directive can be used to customize the XML output from the
+status worker. If set to <b>-</b> no namespace will be used.
+<p>
+This feature has been added in <b>jk 1.2.20</b>.
+</p>
+</directive>
+<directive name="xmlns" default="" required="false">
+This directive can be used to customize the XML output from the
+status worker. If set to <b>-</b> no xmlns will be used.
+<p>
+Default value is set to xmlns:jk=&quot;http://tomcat.apache.org&quot;
+</p>
+<p>
+This feature has been added in <b>jk 1.2.20</b>.
+</p>
+</directive>
+<directive name="doctype" default="" required="false">
+This directive can be used to customize the XML output from the
+status worker. This value will be inserted to the output xml
+after the xml header.
+<p>
+This feature has been added in <b>jk 1.2.20</b>.
+</p>
+</directive>
+
+</directives>
+</subsection>
+
+<subsection name="Advanced worker directives">
+<br />
+<directives>
+<directive name="connect_timeout" default="0" required="false">
+Connect timeout property told webserver to send a PING request on ajp13 connection after
+connection is established. The parameter is the delay in milliseconds to wait for the PONG reply.
+The default value zero disables the timeout (infinite timeout).
+<p>
+This features has been added in <b>jk 1.2.6</b> to avoid problem with hung tomcat's and require ajp13
+ping/pong support which has been implemented on Tomcat <b>3.3.2+, 4.1.28+ and 5.0.13+</b>.
+Disabled by default.
+</p>
+</directive>
+
+<directive name="prepost_timeout" default="0" required="false">
+Prepost timeout property told webserver to send a PING request on ajp13 connection before
+forwarding to it a request. The parameter is the delay in milliseconds to wait for the PONG reply.
+The default value zero disables the timeout (infinite timeout).
+<p>
+This features has been added in <b>jk 1.2.6</b> to avoid problem with hung tomcat's and require ajp13
+ping/pong support which has been implemented on <b>Tomcat 3.3.2+, 4.1.28+ and 5.0.13+</b>.
+Disabled by default.
+</p>
+</directive>
+
+<directive name="reply_timeout" default="0" required="false">
+Reply_timeout property told webserver to wait some time for reply to a forwarded request
+before considering the remote tomcat is dead and eventually switch to another tomcat in a cluster
+group. By default (value zero) the webserver will wait forever which could be an issue for you.
+The parameter is the number of milliseconds to wait for reply, so adjust it carefully if you
+have long running servlets.
+<p>
+This features has been added in <b>jk 1.2.6</b> to avoid problem with hung tomcat's and works on all
+servlet engines supporting ajp13.
+Disabled by default.
+</p>
+</directive>
+
+<directive name="recover_time" default="60" required="false">
+Only used for load balancer workers.
+<p>
+The recover time is the time in seconds the load balancer will not try
+to use a worker, after it went into error state. Only after this time has passed,
+a worker in error state will be marked as in recovering, so that it will be
+tried for new requests.
+</p>
+<p>
+This interval is not checked every time a request is being processed.
+Instead it is being checked during global maintenance. The time between two
+runs of global maintenance is controlled by worker.maintain.
+</p>
+<p>
+Do not set recover_time to a very short time unless you understand the implications.
+Every recovery attempt for a worker in error is done by a real request!
+</p>
+</directive>
+
+<directive name="max_packet_size" default="8192" required="false">
+This attribute sets the maximal AJP packet size in Bytes.
+The maximum value is 65536. If you change it from the default,
+you <b>must</b> also change the packetSize attribute of your AJP
+connector on the tomcat side! The attribute packetSize is only available
+in Tomcat 5.5.20+ and 6.0.2+.
+<p>
+Normally it is not necessary to change the maximum packet size. Problems
+with the default value have been reported when sending certificates or
+certificate chains.
+</p>
+<p>
+This feature has been added in <b>jk 1.2.19</b>.
+</p>
+</directive>
+
+<directive name="recovery_options" default="0" required="false">
+Only used for a member worker of a load balancer.
+<p>
+Recovery options property told webserver how to handle recovery when
+it detect that tomcat failed.
+By default, webserver will forward the request to another tomcat in LB mode
+(or to another ajp thread in ajp13 mode).
+values are : 0 (full recovery), 1 (don't recover if tomcat failed after getting the request),
+2 (don't recover if tomcat failed after sending the headers to client), 3 (don't recover if tomcat failed
+getting the request or after sending the headers to client).
+</p>
+<p>
+This features has been added in <b>jk 1.2.6</b> to avoid problem with hung/broken tomcat's
+and works on all servlet engines supporting ajp13.
+Full recovery by default.
+</p>
+<p>If the value 4 is added to the recovery options, the connection
+between the webserver and tomcat will be closed if the client connection
+to the webserver is terminated during the request/response cycle. This allows
+to inform the servlet engine about broken client connections during lengthy operations.
+This feature has been added in <b>jk 1.2.16</b>
+</p>
+</directive>
+
+<directive name="distance" default="0" required="false">
+Only used for a member worker of a load balancer.
+<p>
+An integer number to express preferences between
+the balanced workers of an lb worker.
+A load balancer will never choose some balanced worker 
+in case there is another usable worker with lower distance.
+</p>
+<p>
+Only in case all workers below a given distance are in error, disabled or stopped,
+workers of a larger distance are eligible for balancing.
+</p>
+<p>
+This feature has been added in <b>jk 1.2.16</b>.
+</p>
+</directive>
+
+<directive name="domain" default="" required="false">
+Only used for a member worker of a load balancer.
+<p>
+Domain directive can be used only when the worker is a member of the load balancer.
+Workers that share the same domain name are treated as single worker. If sticky_session
+is used, then the domain name is used as session route.
+</p>
+<p>
+This directive is used for large system with more then 6 Tomcats, to be able
+to cluster the Tomcats in two groups and thus lowering the session replication
+transfer between them.
+</p>
+<p>
+This feature has been added in <b>jk 1.2.8</b>.
+</p>
+</directive>
+
+<directive name="redirect" default="" required="false">
+Only used for a member worker of a load balancer.
+<p>
+Set to the preferred failover worker. If worker matching SESSION ID is in
+error state then the redirect worker will be used instead. It will be used
+even if being disabled, thus offering hot standby.
+</p>
+<p>
+This feature has been added in <b>jk 1.2.9</b>.
+</p>
+</directive>
+
+<directive name="activation" default="Active" required="false">
+Only used for a member worker of a load balancer.
+<p>
+Using this directive, a balanced worker of a load balancer
+can be configured as disabled or stopped. A disabled worker only gets
+requests, which belong to sessions for that worker. A stopped
+worker does not get any requests. Users will loose their sessions,
+unless session replication via clustering is used.
+</p>
+<p>
+Use <b>d</b> or <b>D</b> to disable and <b>s</b> or <b>S</b> to stop.
+If this directive is not present the deprecated directives
+"disabled" or "stopped" are used.
+</p>
+<p>
+This flag can be changed at runtime using status worker.
+</p>
+<p>
+This feature has been added in <b>jk 1.2.19</b>.
+</p>
+</directive>
+
+<directive name="route" default="worker name" required="false">
+Normally the name of a balanced worker in a load balancer is equal to the jvmRoute
+of the corresponding Tomcat instance. If you want to include a worker corresponding
+to a Tomcat instance into several load balancers with different balancing configuration
+(e.g. disabled, stopped) you can use this attribute.
+<p>
+Define a seperate worker per lb and per Tomcat instance with an arbitrary worker name and 
+set the route attribute of the worker equal to the jvmRoute of the target Tomcat instance.
+</p>
+<p>
+If this attribute is left empty, the name of the worker will be used.
+</p>
+<p>
+This attribute can be changed at runtime using status worker.
+</p>
+<p>
+If the route name contains a period, the part before the first period will be
+used as domain name, unless domain is set explicitly.
+</p>
+<p>
+This feature has been added in <b>jk 1.2.16</b>.<br/>
+The automatic domain rule has been added in <b>jk 1.2.20</b>.<br/>
+The attribute has been renamed from jvm_route to route in <b>jk 1.2.20</b>.
+</p>
+</directive>
+
+<directive name="reference" default="" required="false">
+This attribute can be used for normal workers and for load balancer workers.
+<p>
+This directive allows to copy configurations between workers
+in a hierarchical way. If worker castor sets <b>worker.castor.reference=worker.pollux</b>
+then it inherits all properties of <b>pollux</b>, except for the ones that
+are explicitely set for <b>castor</b>.
+</p>
+<p>
+Please note, that the value of the directive is not only the name of the referred worker,
+but the complete prefix including "worker.".
+</p>
+<p>
+This directive is especially useful, if one has a lot of balanced workers in a load balancer
+and these workers share most of their properties. You can set all of these properties
+in a phantom worker, e.g. using the prefix "worker.template1", and then simply
+reference those common properties in all balanced workers.
+</p>
+<p>
+This feature has been added in <b>jk 1.2.19</b>.
+</p>
+</directive>
+
+<directive name="secret" default="" required="false">
+This attribute can be used for normal workers and for load balancer workers.
+<p>
+If set to AJP Connector secret keyword, only request with this keyword are successfull responding.
+Use <b>request.useSecret="true"</b> and <b>request.secret="secret key word"</b> at your tomcat ajp
+Connector configuration.
+</p>
+</directive>
+
+<directive name="mount" default="" required="false">
+This attribute can be used for normal workers and for load balancer workers.
+<p>
+Space delimited list of uri maps the worker should handle. It is only used,
+if the worker is included in worker.list.
+</p>
+<p>
+This directive can be used multiple times for the same worker.
+</p>
+</directive>
+
+<directive name="fail_on_status" default="0" required="false">
+Set this value to the HTTP status code that will cause a worker to fail
+if returned from Servlet contatiner. Use this directive to deal with
+cases when the servlet container can temporary return non-200 responses
+for a short amount of time, e.g during redeployment.
+<p>
+This feature has been added in <b>jk 1.2.20</b>.
+</p>
+</directive>
+
+
+</directives>
+</subsection>
+
+<subsection name="Deprecated worker directives">
+<br/>
+<p>The following directives have been deprecated in the past. We include their documentation
+in case you need to use an older version of mod_jk. We urge you to update and not use
+them any more. Please migrate your existing configurations.
+</p>
+<deprecations>
+<directive name="cachesize" successor="connection_pool_size" default="see text" required="false">
+<warn>This directive has been deprecated since 1.2.16.</warn>
+Cachesize defines the number of connections made to the AJP backend that
+are maintained as a connection pool.
+It will limit the number of those connection that each web server child
+process can make.
+<p>
+Cachesize property is used only for multi threaded 
+web servers such as Apache 2.0 (worker), IIS and Netscape. The cachesize property
+should reflect the number of threads per child process. JK will discover
+the number of threads per child process on Apache 2 web server with worker-mpm and set
+its default value to match the ThreadsPerChild Apache directive. For IIS the default
+value is 10. For other web servers than Apache or IIS this value has to be set manually.
+</p>
+<warn>Do not use cachesize with values higher then 1 on <b>Apache 2.x prefork</b> or <b>Apache 1.3.x</b>!</warn>
+</directive>
+
+<directive name="cache_timeout" successor="connection_pool_timeout" default="0" required="false">
+<warn>This directive has been deprecated since 1.2.16.</warn>
+Cache timeout property should be used with <b>cachesize</b> to specify how to time JK should keep
+an open socket in cache before closing it. This property should be used to reduce the number of threads 
+on the Tomcat web server.
+<p> 
+Each child could open an ajp13 connection if it have to forward a request to Tomcat, creating
+a new ajp13 thread on Tomcat side.
+</p>
+<p>
+The problem is that after an ajp13 connection is created, the child won't drop it
+until killed. And since the webserver will keep its childs/threads running
+to handle high-load, even it the child/thread handle only static contents, you could
+finish having many unused ajp13 threads on the Tomcat side.
+</p>
+</directive>
+
+<directive name="recycle_timeout" successor="connection_pool_timeout" default="0" required="false">
+<warn>This directive has been deprecated since 1.2.16.</warn>
+The number of seconds that told webserver to cut an ajp13 connection after some time of 
+inactivity. When choosing an endpoint for a request and the assigned socket is open, it will be
+closed if it was not used for the configured time.
+It's a good way to ensure that there won't too old threads living on Tomcat side, 
+with the extra cost you need to reopen the socket next time a request be forwarded.
+This property is very similar to <b>cache_timeout</b> but works also in non-cache mode.
+If set to value zero (default) no recycle will took place. 
+</directive>
+
+<directive name="balanced_workers" successor="balance_workers" default="" required="true">
+<warn>This directive has been deprecated since 1.2.7.</warn>
+A comma separated list of workers that the load balancer
+need to manage.
+</directive>
+
+<directive name="disabled" successor="activation" default="False" required="false">
+<warn>This directive has been deprecated since 1.2.19.</warn>
+If set to <b>True</b> or <b>1</b> the worker will be disabled if member
+of load balancer. This flag can be changed at runtime using status worker.
+<p>
+This feature has been added in <b>jk 1.2.9</b>.
+</p>
+</directive>
+
+<directive name="stopped" successor="activation" default="False" required="false">
+<warn>This directive has been deprecated since 1.2.19.</warn>
+If set to <b>True</b> or <b>1</b> the worker will be stopped if member
+of load balancer. The flag is needed for stop complete traffic of a sticky session
+worker. It is only usefull, when you have a cluster that replicated the sessions.
+This flag can be changed at runtime using status worker.
+<p>
+This feature has been added in <b>jk 1.2.11</b>.
+</p>
+</directive>
+
+<directive name="jvm_route" successor="route" default="worker name" required="false">
+<warn>This directive has been deprecated since 1.2.20.</warn>
+Normally the name of a balanced worker in a load balancer is equal to the jvmRoute
+of the corresponding Tomcat instance. If you want to include a worker corresponding
+to a Tomcat instance into several load balancers with different balancing configuration
+(e.g. disabled, stopped) you can use this attribute.
+<p>
+Define a seperate worker per lb and per Tomcat instance with an arbitrary worker name and 
+set the jvm_route attribute of the worker equal to the jvmRoute of the target Tomcat instance.
+</p>
+<p>
+If this attribute is left empty, the name of the worker will be used.
+</p>
+<p>
+This attribute can be changed at runtime using status worker.
+</p>
+<p>
+This feature has been added in <b>jk 1.2.16</b>.
+</p>
+</directive>
+
+</deprecations>
+</subsection>
+
+</section>
+
+</body>
+</document>

Modified: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/style.xsl
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/style.xsl	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/style.xsl	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!-- Content Stylesheet for "tomcat-docs" Documentation -->
 
-<!-- $Id: style.xsl 439829 2006-09-03 18:57:12Z rjung $ -->
+<!-- $Id: style.xsl 478537 2006-11-23 11:30:34Z rjung $ -->
 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   version="1.0">
@@ -247,7 +247,7 @@
   <xsl:template match="attributes">
     <table border="1" cellpadding="5">
       <tr>
-        <th width="220px" bgcolor="{$attributes-color}">
+        <th width="20%" bgcolor="{$attributes-color}">
      	  <xsl:choose>
             <xsl:when test="@name != ''">
                <font color="#ffffff"><xsl:value-of select="@name"/></font>
@@ -257,7 +257,7 @@
             </xsl:otherwise>
           </xsl:choose>          
         </th>
-        <th width="*" bgcolor="{$attributes-color}">
+        <th width="80%" bgcolor="{$attributes-color}">
           <font color="#ffffff">Description</font>
         </th>
       </tr>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/apache.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/apache.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/apache.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,1133 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="apache.html">
+
+  &project;
+<copyright>
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+</copyright>
+<properties>
+<title>Apache HowTo</title>
+<author email="hgomez at apache.org">Henri Gomez</author>
+<author email="shachor at il.ibm.com">Gal Shachor</author>
+<date>$Date: 2007-02-25 09:47:34 -0700 (Sun, 25 Feb 2007) $</date>
+</properties>
+<body>
+<section name="Introduction">
+<p>
+This document explains how to connect Tomcat to the popular open source web server, Apache.
+There is actually three versions of Apache, 1.3, 2.0 and 2.2 and all can be used with mod_jk,
+the Tomcat redirector module.
+</p>
+
+<p>
+It is recommended that you also read the <a href="workers.html">Workers HowTo</a> document
+to learn how to setup the working entities between your web server and Tomcat Engines.
+For more detailed configuration information consult the Reference Guide for
+<a href="../reference/worker.html">workers.properties</a>,
+<a href="../reference/uriworkermap.html">uriworkermap</a>
+and <a href="../reference/apache.html">Apache</a>.
+</p>
+
+<p>
+This document was originally part of <b>Tomcat: A Minimalistic User's Guide</b> written by Gal Shachor,
+but has been split off for organizational reasons.
+</p>
+
+<subsection name="Document Conventions and Assumptions">
+<p>
+${tomcat_home} is the root directory of tomcat.
+Your Tomcat installation should have the following subdirectories:
+
+<ul>
+<li>
+${tomcat_home}\conf - Where you can place various configuration files
+</li>
+<li>
+${tomcat_home}\webapps - Containing example applications
+</li>
+<li>
+${tomcat_home}\bin - Where you place web server plugins
+</li>
+</ul>
+</p>
+<p>
+In all the examples in this document ${tomcat_home} will be <b>/var/tomcat3</b>.
+A <a href="../generic_howto/workers.html">worker</a> is defined to be a tomcat process that accepts work from the Apache server.
+</p>
+</subsection>
+
+<subsection name="Supported Configuration">
+<p>
+The mod_jk module was developed and tested on:
+<ul>
+<li>
+Linux, FreeBSD, AIX, HP-UX, MacOS X, Solaris and should works on major Unixes platforms
+supporting Apache 1.3 and/or 2.0/2.2
+</li>
+<li>
+WinNT4.0-i386 SP4/SP5/SP6a (should be able to work with other service packs), Win2K and WinXP and Win98
+</li>
+<li>
+Cygwin (until you have an apache server and autoconf/automake support tools)
+</li>
+<li>
+Netware
+</li>
+<li>
+iSeries V5R1 and V5R2 with Apache 2.0.39. Be sure to have the latest Apache PTF installed.
+</li>
+<li>
+Tomcat 3.2.x, Tomcat 3.3.x, Tomcat 4.0.x, Tomcat 4.1.x, Tomcat 5.0.x, Tomcat 5.5.x and Tomcat 6.
+</li>
+</ul>
+</p>
+
+<p>
+The redirector uses <b>ajp12</b> and <b>ajp13</b> to send requests to the Tomcat containers. There is also an option to use Tomcat in process,
+more about the in-process mode can be found in the in process howto.
+</p>
+</subsection>
+
+<subsection name="Who support ajp protocols ?">
+<p>
+The ajp12 protocol is only available in Tomcat 3.2.x and 3.3.x.
+</p>
+
+<p>
+The <b>ajp12</b> has been <b>deprecated</b> with Tomcat 3.3.x and you should use instead 
+<b>ajp13</b> which is the only ajp protocol known by Tomcat 4.x, 5 and 5.5 and Tomcat 6.
+</p>
+
+<p>
+Of course Tomcat 3.2.x and 3.3.x also support ajp13 protocol.
+</p>
+
+<p>
+Others servlet engines such as <b>jetty</b> have support for ajp13 protocol
+</p>
+
+</subsection>
+
+<subsection name="How does it work ?">
+<p>
+In a nutshell a web server is waiting for client HTTP requests.
+When these requests arrive the server does whatever is needed to serve the
+requests by providing the necessary content.
+</p>
+
+<p>
+Adding a servlet container may somewhat change this behavior.
+Now the web server needs also to perform the following:
+</p>
+
+<ul>
+<li>
+Load the servlet container adapter library and initialize it (prior to serving requests).
+</li>
+<li>
+When a request arrives, it needs to check and see if a certain request belongs to a servlet,
+if so it needs to let the adapter take the request and handle it.
+</li>
+</ul>
+
+<p>
+The adapter on the other hand needs to know what requests it is going to serve,
+usually based on some pattern in the request URL, and to where to direct these requests.
+</p>
+
+<p>
+Things are even more complex when the user wants to set a configuration that uses virtual hosts,
+or when they want multiple developers to work on the same web server
+but on different servlet container JVMs.
+We will cover these two cases in the advanced sections.
+</p>
+
+</subsection>
+
+</section>
+
+<section name="Obtaining mod_jk">
+<p>
+mod_jk can be obtained in two formats - binary and source.
+Depending on the platform you are running your web server on, a binary version of mod_jk may be available.
+</p>
+
+<p>
+It is recommended to use the binary version if one is available.
+If the binary is not available, follow the instructions for building mod_jk from source.
+The mod_jk source can be downloaded from a mirror
+<a href="http://tomcat.apache.org/download-connectors.cgi">
+here</a>
+</p>
+
+<p>
+The binaries for mod_jk are now available for several platforms.
+The binaries are located in subdirectories by platform.
+</p>
+
+<p>
+For some platforms, such as Windows, this is the typical way of obtaining mod_jk
+since most Windows systems do not have C compilers.
+</p>
+
+<p>
+For others, the binary distribution of mod_jk offers simpler installation.
+</p>
+
+<p>
+For example JK 1.2.x can be downloaded from a mirror
+<a href="http://tomcat.apache.org/download-connectors.cgi">
+here</a> (look for JK 1.2 Binary Releases). The "JK 1.2 Binary Releases" link contains binary version for a variety of
+operating systems for both Apache 1.3 and Apache 2.
+</p>
+
+</section>
+
+<section name="Installation">
+<p>
+mod_jk requires two entities:
+
+<ul>
+<li>
+<b>mod_jk.xxx</b> - The Apache module, depending on your operating system, it will be mod_jk.so, mod_jk.nlm or
+or QZTCJK.SRVPGM (see the build section).
+</li>
+<li>
+<b>workers.properties</b> - A file that describes the host(s) and port(s) used by the workers (Tomcat processes).
+A sample workers.properties can be found under the conf directory.
+</li>
+</ul>
+</p>
+
+<p>
+Also as with other Apache modules, mod_jk should be first installed on the modules directory of your
+Apache webserver, ie : /usr/lib/apache and you should update your <b>httpd.conf</b> file.
+</p>
+
+
+<subsection name="Disabling old mod_jserv">
+<p>
+If you've previously configured Apache to use <b>mod_jserv</b>, remove any <b>ApJServMount</b> directives
+from your httpd.conf.
+</p>
+
+<p>If you're including <b>tomcat-apache.conf</b> or <b>tomcat.conf</b>, you'll want to remove them as well -
+they are specific to <b>mod_jserv</b>.
+</p>
+
+<p>
+The mod_jserv configuration directives are not compatible with mod_jk !
+</p>
+</subsection>
+
+<subsection name="Using Tomcat auto-configure">
+<p>
+The auto-configure works only for a single Tomcat running on the same machine where Apache (httpd) is running.
+The simplest way to configure Apache to use mod_jk is to turn on the Apache auto-configure setting
+in Tomcat and put the following include directive at the end of your Apache httpd.conf file
+(make sure you replace $TOMCAT_HOME with the correct path for your Tomcat installation:
+</p>
+
+<source>
+    #To be added at the end of your httpd.conf
+    Include $TOMCAT_HOME/conf/jk/mod_jk.conf-auto
+</source>
+
+<p>
+Note: this file may also be generated as $TOMCAT_HOME/conf/auto/mod_jk.conf 
+</p>
+
+<p>
+This will tell Apache to use directives in the <b>mod_jk.conf-auto</b> file in
+the Apache configuration. This file is created by enabling the Apache
+auto-configuration by creating your workers.properties file at
+$TOMCAT_HOME/conf/jk/workers.properties and adding the listener to the Engine
+element in the server.xml file as per the following example.
+<b>Please note that this example is specific to Tomcat 5.x, unlike other sections of this document
+   which also apply to previous Tomcat branches.</b>
+</p>
+<source>
+  ...
+  &lt;Engine ...&gt;
+    ...
+    &lt;Listener className="org.apache.jk.config.ApacheConfig" modJk="/path/to/mod_jk.so" /&gt;
+    ...
+  &lt;/Engine&gt;
+  ...
+</source>
+
+<p>
+Then restart Tomcat and mod_jk.conf should be generated. For more information on
+this topic, please refer to the API documentation at the
+<a href="http://tomcat.apache.org/tomcat-5.5-doc/catalina/docs/api/org/apache/jk/config/ApacheConfig.html">
+Tomcat docs website</a>.
+</p>
+
+</subsection>
+
+<subsection name="Custom mod_jk configuration">
+<p>
+You should use custom configuration when :
+</p>
+<ul>
+<li>
+You couldn't use <b>mod_jk.conf-auto</b> since Tomcat engine isn't on the same machine that your Apache web server,
+ie when you have an Apache in front of a Tomcat Farm.
+</li>
+<li>
+Another case for custom configuration is when your Apache is in front of many differents Tomcat engines,
+each one having it's own configuration, a general case in ISP hosting
+</li>
+<li>
+Also all Apache webmaster will retain custom configuration to be able to tune the settings
+to their real needs.
+</li>
+</ul>
+
+</subsection>
+
+<subsection name="Simple configuration example">
+<p>
+Here is a simple configuration:
+</p>
+
+<source>
+    # Load mod_jk module
+    LoadModule    jk_module  libexec/mod_jk.so
+    # Declare the module for &lt;IfModule directive&gt; (remove this line on Apache 2.0.x)
+    AddModule     mod_jk.c
+    # Where to find workers.properties
+    JkWorkersFile /etc/httpd/conf/workers.properties
+    # Where to put jk shared memory
+    JkShmFile     /var/log/httpd/mod_jk.shm
+    # Where to put jk logs
+    JkLogFile     /var/log/httpd/mod_jk.log
+    # Set the jk log level [debug/error/info]
+    JkLogLevel    info
+    # Select the timestamp log format
+    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
+    # Send servlet for context /examples to worker named worker1
+    JkMount  /examples/servlet/* worker1
+    # Send JSPs  for context /examples to worker named worker1
+    JkMount  /examples/*.jsp worker1
+</source>
+
+</subsection>
+</section>
+
+<section name="mod_jk Directives">
+<p>
+We'll discuss here the mod_jk directives and details behind them
+</p>
+
+<subsection name="Define workers">
+<p>
+<b>JkWorkersFile</b> specify the location where mod_jk will find the workers definitions.
+
+<source>
+  JkWorkersFile     /etc/httpd/conf/workers.properties
+</source>
+
+<br/>
+<br/>
+</p>
+</subsection>
+
+<subsection name="Logging">
+<p>
+<b>JkLogFile</b> specify the location where mod_jk is going to place its log file.
+</p>
+
+<source>
+  JkLogFile     /var/log/httpd/mod_jk.log
+</source>
+
+<p>
+Since JK 1.2.3 for Apache 2.0/2.2 and JK 1.2.16 for Apache 1.3 this can also
+be used for piped logging:
+</p>
+
+<source>
+  JkLogFile     "|/usr/bin/rotatelogs /var/log/httpd/mod_jk.log 86400"
+</source>
+
+<p>
+<b>JkLogLevel</b>
+set the log level between :
+</p>
+
+<ul>
+<li>
+<b>info</b> log will contains standard mod_jk activity (default).
+</li>
+<li>
+<b>error</b> log will contains also error reports.
+</li>
+<li>
+<b>debug</b> log will contains all informations on mod_jk activity
+</li>
+</ul>
+
+<source>
+  JkLogLevel    info
+</source>
+
+<p>
+<code>info</code> should be your default selection for normal operations.
+<br/>
+<br/>
+</p>
+
+<p>
+<b>JkLogStampFormat</b> will configure the date/time format found on mod_jk logfile.
+Using the strftime() format string it's set by default to <b>"[%a %b %d %H:%M:%S %Y]"</b>
+</p>
+
+<source>
+  JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
+</source>
+
+<p>
+<br/>
+<br/>
+</p>
+
+<p>
+<b>JkRequestLogFormat</b> will configure the format of mod_jk individual request logging.
+Request logging is configured and enabled on a per virtual host basis.
+To enable request logging for a virtual host just add a JkRequestLogFormat config.
+The syntax of the format string is similiar to the Apache LogFormat command,
+here is a list of the available request log format options:
+</p>
+
+<p>
+<table>
+  <tr><th>Options</th><th>Description</th></tr>
+  <tr><td>%b</td><td>Bytes sent, excluding HTTP headers (CLF format)</td></tr>
+  <tr><td>%B</td><td>Bytes sent, excluding HTTP headers</td></tr>
+  <tr><td>%H</td><td>The request protocol</td></tr>
+  <tr><td>%m</td><td>The request method</td></tr>
+  <tr><td>%p</td><td>The canonical Port of the server serving the request</td></tr>
+  <tr><td>%q</td><td>The query string (prepended with a ? if a query string exists, otherwise an empty string)</td></tr>
+  <tr><td>%r</td><td>First line of request</td></tr>
+  <tr><td>%s</td><td>Request HTTP status code</td></tr>
+  <tr><td>%T</td><td>Request duration, elapsed time to handle request in seconds '.' micro seconds</td></tr>
+  <tr><td>%U</td><td>The URL path requested, not including any query string.</td></tr>
+  <tr><td>%v</td><td>The canonical ServerName of the server serving the request</td></tr>
+  <tr><td>%V</td><td>The server name according to the UseCanonicalName setting</td></tr>
+  <tr><td>%w</td><td>Tomcat worker name</td></tr>
+  <tr><td>%R</td><td>Session route name (available with 1.2.19 and up)</td></tr>
+</table>
+
+<source>
+  JkRequestLogFormat     "%w %V %T"
+</source>
+
+<br/>
+<br/>
+</p>
+
+</subsection>
+
+<subsection name="Forwarding">
+<p>
+The directive JkOptions allow you to set many forwarding options which will enable (+)
+or disable (-) following option. Without any leading signs, options will be enabled.
+<br/>
+<br/>
+</p>
+
+<p>
+The three following options <b>+ForwardURIxxx</b> are mutually exclusive.
+Exactly one of them is required, a negative sign prefix is not allowed with them.
+By default, the option ForwardURICompat is turned on.
+You can turn this off by switching on one of the other two.
+<br/>
+<br/>
+</p>
+
+<p>
+All options are inherited from the global server to virtual hosts.
+Options that support enabling (plus options) and disabling (minus options),
+are inherited in the following way:
+<br/>
+<br/>
+options(vhost) = plus_options(global) - minus_options(global) + plus_options(vhost) - minus_options(vhost)
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>ForwardURICompat</b>, you told mod_jk to send the URI to Tomcat normally,
+which is less spec compliant but mod_rewrite compatible,
+use it for compatibility with Tomcat 3.2.x engines (on by default).
+
+<source>
+  JkOptions     +ForwardURICompat
+</source>
+
+<br/>
+<br/>
+</p>
+<p>
+JkOptions <b>ForwardURICompatUnparsed</b>, the forwarded URI
+is unparsed, it's spec compliant but broke mod_rewrite.
+
+<source>
+  JkOptions     +ForwardURICompatUnparsed
+</source>
+
+<br/>
+<br/>
+</p>
+<p>
+JkOptions <b>ForwardURIEscaped</b>, the forwarded URI is escaped and
+Tomcat (since 3.3 rc2) will do the decoding part.
+
+<source>
+  JkOptions     +ForwardURIEscaped
+</source>
+
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>ForwardDirectories</b> is used in conjunction with <b>DirectoryIndex</b>
+directive of Apache web server. As such mod_dir should be available to Apache,
+statically or dynamically (DSO)
+<br/>
+<br/>
+</p>
+
+<p>
+When DirectoryIndex is configured, Apache will create sub-requests for
+each of the local-url's specified in the directive, to determine if there is a
+local file that matches (this is done by stat-ing the file).
+</p>
+
+<p>
+If ForwardDirectories is set to false (default) and Apache doesn't find any
+files that match, Apache will serve the content of the directory (if directive
+Options specifies Indexes for that directory) or a <code>403 Forbidden</code> response (if
+directive Options doesn't specify Indexes for that directory).
+</p>
+
+<p>
+If ForwarDirectories is set to true and Apache doesn't find any files that
+match, the request will be forwarded to Tomcat for resolution. This is used in
+cases when Apache cannot see the index files on the file system for various
+reasons: Tomcat is running on a different machine, the JSP file has been
+precompiled etc.
+</p>
+
+<p>Note that locally visible files will take precedence over the
+ones visible only to Tomcat (i.e. if Apache can see the file, that's the one
+that's going to get served). This is important if there is more then one type of
+file that Tomcat normally serves - for instance Velocity pages and JSP pages.
+
+<source>
+  JkOptions     +ForwardDirectories
+</source>
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>ForwardLocalAddress</b>, you ask mod_jk to send the local address,
+of the Apache web server instead remote client address. This can be used by
+Tomcat remote address valve for allowing connections only from registered Apache
+web servers.
+
+<source>
+  JkOptions     +ForwardLocalAddress
+</source>
+
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>FlushPackets</b>, you ask mod_jk to flush Apache's connection
+buffer after each AJP packet chunk received from Tomcat. This option can have
+a strong performance penalty for Apache and Tomcat as writes are performed
+more often than would normally be required (ie: at the end of each
+response).
+
+<source>
+  JkOptions     +FlushPackets
+</source>
+
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>FlushHeader</b>, you ask mod_jk to flush Apache's connection
+buffer after the response headers have been  received from Tomcat.
+
+<source>
+  JkOptions     +FlushHeader
+</source>
+
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>DisableReuse</b>, you ask mod_jk to close connections immediately
+after their use. Normally mod_jk uses persistent connections and pools idle
+connections to reuse them, when new requests have to be sent to Tomcat.
+</p>
+
+<p>
+Using this option will have a strong performance penalty for Apache and Tomcat.
+Use this only as a last resort in case of unfixable network problems.
+If a firewall between Apache and Tomcat silently kills idle connections,
+try to use the worker attribute socket_keepalive in combination with an appropriate
+TCP keepalive value in your OS.
+
+<source>
+  JkOptions     +DisableReuse
+</source>
+
+<br/>
+<br/>
+</p>
+
+<p>
+JkOptions <b>ForwardKeySize</b>, you ask mod_jk, when using ajp13, to forward also the SSL Key Size as
+required by Servlet API 2.3.
+This flag shouldn't be set when servlet engine is Tomcat 3.2.x (off by default).
+
+<source>
+  JkOptions     +ForwardKeySize
+</source>
+
+<br/>
+<br/>
+</p>
+
+<p>
+The directive <b>JkEnvVar</b> allows you to forward environment variables from Apache server to Tomcat engine.
+The variables can be retrieved on the Tomcat side as request attributes.
+You can add a default value as a second parameter to the directive.
+If the default value is not given explicitely, the variable
+will only be send, if it is set during runtime.
+<br/>
+<br/>
+The variables are inherited from the global server to virtual hosts.
+
+<source>
+  JkEnvVar     SSL_CLIENT_V_START     undefined
+</source>
+<br/>
+<br/>
+</p>
+
+</subsection>
+
+<subsection name="Assigning URLs to Tomcat">
+<p>
+If you have created a custom or local version of mod_jk.conf-local as noted above,
+you can change settings such as the workers or URL prefix.
+</p>
+
+<p>
+<b>JkMount</b> directive assign specific URLs to Tomcat.
+In general the structure of a JkMount directive is:
+</p>
+
+<source>  JkMount [URL prefix] [Worker name]</source>
+
+<source>
+  # send all requests ending in .jsp to worker1
+  JkMount /*.jsp worker1
+  # send all requests ending /servlet to worker1
+  JkMount /*/servlet/ worker1
+  # send all requests jsp requests to files located in /otherworker will go worker2
+  JkMount /otherworker/*.jsp worker2
+</source>
+
+<p>
+You can use the JkMount directive at the top level or inside &lt;VirtualHost&gt; sections of your httpd.conf file.
+</p>
+</subsection>
+
+<subsection name="Configuring Apache to serve static web application files">
+<p>
+If the Tomcat Host appBase (webapps) directory is accessible by the Apache web server,
+Apache can be configured to serve web application context directory static files instead
+of passing the request to Tomcat.
+</p>
+
+<p>
+Caution: If Apache is configured to serve static pages for a web application it bypasses
+any security contraints you may have configured in your web application web.xml config file.
+</p>
+
+<p>Use Apache's <b>Alias</b> directive to map a single web application context directory into Apache's
+document space for a VirtualHost:
+</p>
+
+<source>
+  # Static files in the examples webapp are served by apache
+  Alias /examples /vat/tomcat3/webapps/examples
+  # The following line prohibits users from directly access WEB-INF
+  &lt;Location "/examples/WEB-INF/"&gt;
+      AllowOverride None
+      deny from all
+  &lt;/Location&gt;
+  # All JSP will goes to worker1
+  JkMount /*.jsp worker1
+  # All servlets goes to worker1
+  JkMount /*/servlet/ worker1
+</source>
+
+<p>
+Starting with mod_jk 1.2.6 for Apache 2.0/2.2 and 1.2.19 for Apache 1.3, it's possible to exclude some URL/URI from
+jk processing by setting the env var <b>no-jk</b>, for example with the SetEnvIf Directive.
+</p>
+
+<p>
+You could use <b>no-jk</b> env var to fix problem with mod_alias or mod_userdir
+directive when jk and alias/userdir URLs matches.
+</p>
+
+<source>
+  # All URL goes to tomcat except the one containing /home
+  &lt;VirtualHost *:80&gt;
+      ServerName testxxx.mysys
+      DocumentRoot /www/testxxx/htdocs
+
+  # Use SetEnvIf to st no-jk when /home/ is encountered
+      SetEnvIf Request_URI "/home/*" no-jk
+
+  # Now /home will goes to /home/dataxxx/
+      Alias /home /home/dataxxx/
+
+      &lt;Directory "/home/dataxxx"&gt;
+          Options Indexes MultiViews
+          AllowOverride None
+          Order allow,deny
+          Allow from all
+      &lt;/Directory&gt;
+
+      JkMount /* myssys-xxx
+
+  &lt;/VirtualHost&gt;
+</source>
+
+
+<p>
+Use the mod_jk <b>JkAutoAlias</b> directive to map all web application context directories
+into Apache's document space.
+</p>
+
+<p>
+Attempts to access the WEB-INF or META-INF directories within a web application context
+or a Web Archive *.war within the Tomcat Host appBase (webapps) directory will fail with an
+<code>HTTP 403, Access Forbidden</code>
+</p>
+
+<source>
+  # Static files in all Tomcat webapp context directories are served by apache
+  JkAutoAlias /var/tomcat3/webapps
+  JkMount /*.jsp ajp13
+  JkMount /*/servlet/ ajp13
+</source>
+
+<p>
+If you encoded all your URLs to contain the session id
+(<code>;jsessionid=...</code>), and you later decide, you want to
+move part of the content to Apache httpd, you can tell
+mod_jk to strip off all session ids from URLs for
+those requests, that do not get forwarded via mod_jk.
+</p>
+
+<p>
+You enable this feature by setting JkStripSession to On.
+It can be enabled individually for virtual servers. The default
+value is Off.
+</p>
+
+</subsection>
+</section>
+
+<section name="Building mod_jk on Unix">
+<p>
+The mod_jk build use the widely used configure system.
+</p>
+<subsection name="Prepare your mod_jk configure from subversion">
+In case you get source from subversion, ie without an existing configure script,
+you should have autoconf for configuration and installation.
+<p>
+To create tomcat-connectors's autoconf script, you will need libtool 1.5.2 or higher,
+and autoconf 2.59 or newer.
+</p><p>
+Those tools will not be required if you are just using a package downloaded from apache.org,
+they are only required for developers.
+</p>
+<p>
+To create the configure script just type :
+
+<screen>
+<type>./buildconf.sh</type>
+</screen>
+</p>
+</subsection>
+
+<subsection name="Using configure to build mod_jk">
+<p>Here's how to use configure to prepare mod_jk for building, just type:
+<source>
+./configure [autoconf arguments] [tomcat-connectors arguments]
+</source>
+</p>
+
+<p>
+You could set <b>CFLAGS</b> and <b>LDFLAGS</b> to add some platform specifics:
+</p>
+
+<screen>
+<type>LDFLAGS=-lc ./configure -with-apxs=/home2/local/apache/bin/apxs</type>
+</screen>
+
+<p>
+If you want to build mod_jk for Apache 1.3 and 2.0/2.2, you should
+<ul>
+<li>
+use configure and indicate Apache 1.3 apxs location (--with-apxs)
+</li>
+<li>
+use make
+</li>
+<li>
+copy the mod_jk binary to the apache modules location
+</li>
+<li>
+make clean (to remove all previously compiled modules)
+</li>
+<li>
+use configure and indicate Apache 2.0/2.2 apxs location,
+</li>
+<li>
+then make.
+</li>
+</ul>
+
+</p>
+</subsection>
+
+<subsection name="configure arguments">
+<p>
+<table>
+  <tr><th>Apache related parameters</th><th></th></tr>
+  <tr>
+  <td>--with-apxs[=FILE]</td>
+  <td>FILE is the location of the apxs tool. Default is finding apxs in PATH.
+It builds a shared Apache module. It detects automaticly the Apache version.
+(2.0/2.2 and 1.3)</td>
+  </tr>
+  <tr><td>--with-apache=DIR</td>
+  <td>DIR is the path where apache sources are located.
+The apache sources should have been configured before configuring mod_jk.
+DIR is something like: /home/apache/apache_1.3.19
+It builds a static Apache module.</td>
+  </tr>
+  <tr><td>--enable-EAPI</td>
+  <td>This parameter is needed when using Apache-1.3 and mod_ssl, otherwise you will get the error message:
+"this module might crash under EAPI!" when loading mod_jk.so in httpd.
+Not needed when --with-apxs has been used</td>
+</tr>
+</table>
+<br/>
+<table>
+  <tr><th>JNI related parameters</th><th></th></tr>
+  <tr><td>--enable-jni</td>
+  <td>Build the JNI worker and so the build process will require
+some informations about your Java Environment</td>
+  </tr>
+  <tr><td>--with-java-home=DIR</td>
+  <td>DIR is the  patch to the JDK root directory. Something like: /opt/java/jdk12</td>
+  </tr>
+  <tr><td>--with-os-type=SUBDIR</td><td>SUBDIR is the os-type subdirectory,
+  configure should guess it correctly.</td>
+  </tr>
+  <tr><td>--with-arch-type=SUBDIR</td><td>SUBDIR is the arch subdirectory,
+  configure should guess it correctly.</td>
+  </tr>
+  <tr><td>--with-java-platform=VAL</td><td>VAL is the Java platform 1 is 1.1.x and 2 is for 1.2 anf higher,
+  configure should guess it correctly.</td>
+  </tr>
+</table>
+</p>
+</subsection>
+
+<subsection name="Examples of configure use">
+
+<screen>
+<note>Apache 1.3 and 2.0/2.2 build</note>
+<type>./configure --with-apxs=/usr/sbin/apxs</type><br/>
+<type>make</type><br/>
+<type>cp ./apache-1.3/mod_jk.so /usr/lib/apache</type><br/>
+<type>make clean</type><br/>
+<type>./configure --with-apxs=/usr/sbin/apxs2</type><br/>
+<type>make</type><br/>
+<type>cp ./apache-2.0/mod_jk.so /usr/lib/apache2</type><br/>
+</screen>
+
+<screen>
+<note>Apache 2.0/2.2 build with JNI support</note>
+<type>./configure --with-apxs2=/opt/apache2/bin/apxs \</type>
+<typenext>--with-java-home=${JAVA_HOME} --with-java-platform=2 \</typenext>
+<typenext>--enable-jni</typenext><br/>
+</screen>
+
+<screen>
+<note>Apache 1.3 build without JNI support</note>
+<type>./configure --with-apxs=/usr/sbin/apxs</type><br/>
+</screen>
+
+</subsection>
+
+</section>
+
+<section name="Building mod_jk for Apache on Windows NT/2K/XP">
+<p>
+The module was developed using Visual C++ version 6.0, so having this environment is a prerequisite
+if you want to perform a custom build.
+</p>
+<p>
+The steps that you need to take are:
+</p>
+<ul>
+<li>
+Change directory to the apache 1.3 or apache 2.0 source directory depending on your version of Apache.
+</li>
+<li>
+If you want to build mod_jk for Apache 1.3, set an <b>APACHE1_HOME</b> environment variable which points
+to where your Apache 1.3 is installed.
+A mod_jk module for Apache 2.0 build will require <b>APACHE2_HOME</b> environment variable to be set.
+</li>
+<li>
+Copy mod_jk.so to Apache's modules directory.
+</li>
+</ul>
+<p>
+An example on how to build mod_jk for Apache 1.3:
+</p>
+<screen>
+<note>Set location for Apache 1.3 sources</note>
+<typedos>set APACHE1_HOME=c:\apache13</typedos>
+<note>Change directory to the mod_jk module for Apache 1.3</note>
+<typedos>cd c:\home\apache\jk\native\apache-1.3</typedos>
+<note>Build the sources using MSDEV</note>
+<typedos>MSDEV mod_jk.dsp /MAKE ALL</typedos>
+<note>Copy the dll to your apache modules directory</note>
+<typedos>cp release\mod_jk.so c:\apache13\modules\</typedos>
+</screen>
+
+<p>
+An example on how to build mod_jk for Apache 2.0:
+</p>
+<screen>
+<note>Set location for Apache 2.0 sources</note>
+<typedos>set APACHE2_HOME=c:\apache20</typedos>
+<note>Change directory to the mod_jk module for Apache 2.0</note>
+<typedos>cd c:\home\apache\jk\native\apache-2.0</typedos>
+<note>Build the sources using MSDEV</note>
+<typedos>MSDEV mod_jk.dsp /MAKE ALL</typedos>
+<note>Copy the dll to your apache modules directory</note>
+<typedos>cp release\mod_jk.so c:\apache20\modules\</typedos>
+</screen>
+
+<p>
+If msdev is not in your path, enter the full path to msdev.exe.
+Also, ApacheCore.lib is expected to exist in the <b>${APACHEX_HOME}\src\CoreD</b> and
+<b>${APACHEX_HOME}\src\CoreR</b> directories before linking will succeed.
+You will need to build enough of the Apache source to create these libraries.
+This will build both release and debug versions of the redirector plug-in (mod_jk).
+An alternative will be to open mod_jk.dsp in msdev and build it using the build menu.
+</p>
+</section>
+
+<section name="Building mod_jk for Apache on iSeries/OS400">
+<p>
+Since OS400 V4R5, iSeries (AS/400) has used Apache 2.0 as their primary web server,
+replacing the old IBM webserver.
+It's now possible to build mod_jk on iSeries thanks to the help of the IBM
+Rochester Labs which has provided information and patches
+to adapt mod_jk to OS400.
+</p>
+<p>
+You should have at least Apache 2.0.48 (product 5722DG1), a C Compiler and IFS.
+Apache 2.0.48 is provided with the most recent set of PTFs for the iSeries Apache
+server, which can be found at <a href="http://www.ibm.com/servers/eserver/iseries/software/http/">
+http://www.ibm.com/servers/eserver/iseries/software/http/</a>
+</p>
+<p>
+The all latest Apache 2 for OS400 V5R3 is now 2.0.52 (2005/03/23).
+Be sure to have the latest PTF loaded (SI17402/SI17061) if you want
+to make use of jk 1.2.8 and higher.
+</p>
+
+<p>
+To configure mod_jk on iSeries use the CL source provided with the mod_jk source.
+</p>
+<ul>
+<li>
+Get the latest mod_jk source and untar it on a Windows or Unix boxes
+</li>
+<li>
+Create a directory in IFS, ie /home/apache
+</li>
+<li>
+Send the whole jk source directory to iSeries directory via FTP.
+</li>
+<li>
+Then go to the iSeries command line :
+</li>
+</ul>
+<screen>
+<note>Create mod_jk library</note>
+<type5250>CRTLIB MOD_JK TEXT(‘Apache mod_jk tomcat connector module’)</type5250>
+<note>Create service program source file</note>
+<type5250>CRTSRCPF MOD_JK/QSRVSRC TEXT(‘Service program source file’)</type5250>
+<note>Create the CL build program source file</note>
+<type5250>CRTSRCPF FILE(MOD_JK/QCLSRC) TEXT(‘Build program source file’)</type5250>
+<note>Edit the service program source file</note>
+<type5250>STRSEU MOD_JK/QSRVSRC MOD_JK</type5250>
+</screen>
+<p>
+In the edited file, specify that only jk_module should be exported :
+<screen>
+<note> Columns   . . :    1  71     Edit                               MOD_JK/QSRVSRC </note>
+<note> SEU==>                                                                  MOD_JK </note>
+<note>        *************** Beginning of data ************************************* </note>
+<note>0001.00 STRPGMEXP PGMLVL(*CURRENT)                                              </note>
+<note>0002.00 EXPORT SYMBOL("jk_module")                                              </note>
+<note>0003.00 ENDPGMEXP                                                               </note>
+<note>        ****************** End of data **************************************** </note>
+</screen>
+</p>
+<p>
+You could start to build all the modules of mod_jk :
+</p>
+<screen>
+<note>Copy the CL build program source from IFS</note>
+<type5250>CPYFRMSTMF FROMSTMF('/home/apache/jk/native/apache-2.0/bldjk.qclsrc') +</type5250>
+<note>TOMBR('/QSYS.LIB/MOD_JK.LIB/QCLSRC.FILE/BLDJK.MBR') MBROPT(*REPLACE)</note>
+<note>Build the CL build program</note>
+<type5250>CRTCLPGM PGM(MOD_JK/BLDJK) SRCFILE(MOD_JK/QCLSRC) TEXT('Apache mod_jk build program')</type5250>
+<note>Launch the build</note>
+<type5250>CALL MOD_JK/BLDJK</type5250><br/>
+<note>If the build if successfull, copy the new mod_jk module</note>
+<type5250>CRTDUPOBJ OBJ(MOD_JK) FROMLIB(MOD_JK) OBJTYPE(*SRVPGM) TOLIB(QHTTPSVR) NEWOBJ(MOD_JK)</type5250>
+</screen>
+<p>
+Next, you should restart your Apache 2.0 server and enjoy this piece of OpenSource on iSeries.
+</p>
+</section>
+
+<section name="Building mod_jk for Apache on MacOS/X">
+<p>
+Mac OS X (10.2.x) build notes :
+</p>
+<p>
+Assuming that you are root :
+</p>
+<screen>
+<note>For Apache 1.3:</note>
+<type>./configure --with-apxs=/usr/sbin/apxs</type>
+<type>cd apache-1.3</type>
+<type>make -f Makefile.apxs</type>
+<type>cp mod_jk.so /etc/libexec/httpd</type>
+
+<note>For Apache 2.0:</note>
+<type>./configure --with-apxs=/usr/local/apache2/bin/apxs</type>
+<note>(you should point to the directory where you installed Apache 2.0)</note>
+<type>cd apache-2.0</type>
+<type>make -f Makefile.apxs install</type>
+</screen>
+</section>
+
+<section name="Getting mod_jk linked statically with Apache">
+<p>
+mod_jk allows to install mod_jk in the Apache source tree to get a statically
+linked mod_jk. Having mod_jk in the httpd executable brings some performance
+improvements. The configure option --with-apache prepare mod_jk to install it
+in the Apache source tree.
+The option --with-apache works both for Apache-1.3 and Apache-2.0.
+The examples below show how to get mod_jk in the httpd process.
+</p>
+
+<subsection name="Installation in Apache-2.0">
+<screen>
+<note> /home/apache20/httpd-2.0.43 is the directory where the httpd-2.0 sources
+are located. </note>
+<type>./configure --with-apache=/home/apache20/httpd-2.0.43</type><br/>
+<type>make</type><br/>
+<note>Install the mod_jk library and other files in
+/home/apache20/httpd-2.0.43/modules: </note>
+<type>make install</type><br/>
+<note> It is not possible to configure Apache directly because the config.m4 of mod_jk must
+be added to the configure of httpd-2.0. </note>
+<type>cd /home/apache20/httpd-2.0.43</type>
+<type>sh buildconf</type>
+<type>configure ... --with-mod_jk</type>
+<type>make</type>
+<type>make install</type><br/>
+</screen>
+<p>
+The enable-jk=share and enable-jk=static are not supported. --with-mod_jk only
+allow static linking of mod_jk.
+</p>
+</subsection>
+
+<subsection name="Installation in Apache-1.3">
+<screen>
+<note> /home/apache/apache_1.3.27 is the directory where the apache-1.3 sources
+are located. </note>
+<type>./configure --with-apache=/home/apache/apache_1.3.27</type><br/>
+<type>make</type><br/>
+<note>Install the libjk library, mod_jk.c, includes and other files in
+/home/apache/apache_1.3.27/src/modules/jk: </note>
+<type>make install</type><br/>
+<note> Configure in the Apache sources: </note>
+<type>cd /home/apache/apache_1.3.27</type>
+<type>configure ... --enable-module=dir --disable-shared=dir \</type>
+<typenext>              --activate-module=src/modules/jk/libjk.a \</typenext>
+<typenext>              --disable-shared=jk</typenext>
+<type>make</type>
+<type>make install</type><br/>
+</screen>
+<p>
+The --enable-shared=jk is also working and builds a dso file.
+</p>
+<screen>
+<note> Just change the configure in the Apache sources: </note>
+<type>configure ... --enable-module=dir --enable-shared=dir \</type>
+<typenext>              --activate-module=src/modules/jk/libjk.a \</typenext>
+<typenext>              --enable-shared=jk</typenext>
+</screen>
+</subsection>
+
+</section>
+</body>
+</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/iis.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/iis.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/iis.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,713 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="iis.html">
+
+  &project;
+<copyright>
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+</copyright>
+<properties>
+<title>IIS HowTo</title>
+<author email="hgomez at apache.org">Henri Gomez</author>
+<author email="shachor at il.ibm.com">Gal Shachor</author>
+<author email="yoavs at apache.org">Yoav Shapira</author>
+<date>$Date: 2006-12-06 07:20:35 -0700 (Wed, 06 Dec 2006) $</date>
+</properties>
+<body>
+<section name="Introduction">
+<p>
+This document explains how to set up IIS to cooperate with Tomcat. 
+</p>
+
+<p>
+Normally IIS can not execute Servlets and Java Server Pages (JSPs), 
+configuring IIS to use the JK ISAPI redirector plugin will let IIS send servlet and 
+JSP requests to Tomcat (and this way, serve them to clients).
+</p>
+
+<p>
+It is recommended that you also read the <a href="workers.html">Workers HowTo</a> document
+to learn how to setup the working entities between your web server and Tomcat Engines.
+For more detailed configuration information consult the Reference Guide for
+<a href="../reference/worker.html">workers.properties</a>,
+<a href="../reference/uriworkermap.html">uriworkermap</a>
+and <a href="../reference/iis.html">IIS</a>.
+</p>
+
+
+<subsection name="Document Conventions and Assumptions">
+<p>
+${tomcat_home} is the root directory of tomcat. 
+Your Tomcat installation should have the following subdirectories:
+
+<ul>
+<li>
+${tomcat_home}\conf - Where you can place various configuration files
+</li>
+<li>
+${tomcat_home}\webapps - Containing example applications
+</li>
+<li>
+${tomcat_home}\bin - Where you place web server plugins
+</li>
+</ul>
+</p>
+<p>
+In all the examples in this document ${tomcat_home} will be <b>c:\tomcat</b>.
+A worker is defined to be a tomcat process that accepts work from the IIS server.
+</p>
+</subsection>
+
+
+<subsection name="Supported Configuration">
+<p>
+The IIS-Tomcat redirector was developed and tested on:
+<ul>
+<li>
+WinNT4.0-i386 SP4/SP5/SP6a (should be able to work with other service packs), Win2K and WinXP and Win98
+</li>
+<li>
+IIS4.0 and PWS4.0 (numerous people have working IIS 5 and IIS 6 configurations)
+</li>
+<li>
+Tomcat 3.2 and later, Tomcat 4.x, Tomcat 5 and 5.5 and Tomcat 6
+</li>
+</ul>
+</p>
+
+<p>
+The redirector uses <b>ajp12</b> and <b>ajp13</b> to send requests to the Tomcat containers. There is also an option to use Tomcat in process, 
+more about the in-process mode can be found in the in process howto.
+</p>
+</subsection>
+
+<subsection name="IIS 5 and 6 Notes">
+<p>
+There are extra steps you need to take for configuring Tomcat with IIS 5 and 6.  Please see the appropriate links from 
+<a href="http://wiki.apache.org/tomcat/Tomcat/Links">Tomcat Useful Links</a>.
+</p>
+</subsection>
+
+<subsection name="Who support ajp protocols ?">
+<p>
+The ajp12 protocol is only available in Tomcat 3.2.x and 3.3.x.
+</p>
+
+<p>
+The <b>ajp12</b> has been <b>deprecated</b> with Tomcat 3.3.x and you should use instead 
+<b>ajp13</b> which is the only ajp protocol known by Tomcat 4.x, 5 and 5.5 and Tomcat 6.
+</p>
+
+<p>
+Of course Tomcat 3.2.x and 3.3.x also support ajp13 protocol.
+</p>
+
+<p>
+Others servlet engines such as <b>jetty</b> have support for ajp13 protocol
+</p>
+
+</subsection>
+
+<subsection name="How does it work ?">
+<p>
+<ol>
+<li>
+The IIS-Tomcat redirector is an IIS plugin (filter + extension), IIS load the redirector plugin and calls its 
+filter function for each in-coming request.
+</li>
+<li>
+The filter then tests the request URL against a list of URI-paths held inside uriworkermap.properties, 
+If the current request matches one of the entries in the list of URI-paths, 
+the filter transfer the request to the extension.
+</li>
+<li>
+The extension collects the request parameters and forwards them to the appropriate worker using the defined
+protocol like <b>ajp13</b>.
+</li>
+<li>
+The extension collects the response from the worker and returns it to the browser.
+</li>
+</ol>
+</p>
+</subsection>
+
+</section>
+
+<section name="Installation">
+<p>
+A pre-built version of the ISAPI redirector server plugin, isapi_redirect.dll, is available under 
+the win32/i386 directory of tomcat-connectors distribution. 
+For those using Netscape as your browser, try downloading a zip version of the file, if available. 
+There can be problems using Netscape to download DLL files.
+
+You can also build a copy locally from the source present in tomcat-connectors distribution.
+
+The Tomcat redirector requires three entities:
+
+<ul>
+<li>
+<b>isapi_redirect.dll</b> - The IIS server plugin, either obtain a pre-built DLL or build it yourself (see the build section).
+</li>
+<li>
+<b><a href="../reference/workers.html">workers.properties</a></b> - A file that describes the host(s) and port(s) used by the workers (Tomcat processes). 
+A sample workers.properties can be found under the conf directory.
+</li>
+<li>
+<b><a href="../reference/uriworkermap.html">uriworkermap.properties</a></b> - A file that maps URL-Path patterns to workers. 
+A sample uriworkermap.properties can be found under the conf directory as well.
+</li>
+</ul>
+</p>
+
+<p>
+The installation includes the following parts:
+
+<ul>
+<li>
+Configuring the ISAPI redirector with a default /examples context and checking that you can serve servlets with IIS.
+</li>
+<li>
+Adding more contexts to the configuration.
+</li>
+</ul>
+</p>
+
+</section>
+
+<section name="Configuring the ISAPI Redirector">
+<p>
+In this document I will assume that isapi_redirect.dll is placed in 
+<b>c:\tomcat\bin\win32\i386\isapi_redirect.dll</b> and 
+that you created the properties files are in <b>c:\tomcat\conf</b>.
+</p>
+<p>
+<ol>
+<li>
+In the registry, create a new registry key named
+<b>"HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0"</b>
+</li>
+<li>
+Add a string value with the name <b>extension_uri</b> and a value of <b>/jakarta/isapi_redirect.dll</b>
+</li>
+<li>
+Add a string value with the name <b>log_file</b> and a value pointing to where you want your 
+log file to be (for example <b>c:\tomcat\logs\isapi.log</b>).
+</li>
+<li>
+Add a string value with the name <b>log_level</b> and a value for your log level 
+(can be debug, info, error or emerg).
+</li>
+<li>
+Add a string value with the name <b>worker_file</b> and a value which is the full path 
+to your workers.properties file (for example <b>c:\tomcat\conf\workers.properties</b>)
+</li>
+<li>
+Add a string value with the name <b>worker_mount_file</b> and a value which is the full path 
+to your uriworkermap.properties file (for example <b>c:\tomcat\conf\uriworkermap.properties</b>)
+</li>
+<li>
+Using the IIS management console, add a new virtual directory to your IIS/PWS web site.
+The name of the virtual directory must be jakarta. 
+Its physical path should be the directory where you placed isapi_redirect.dll 
+(in our example it is c:\tomcat\bin\win32\i386). 
+While creating this new virtual directory assign it with execute access.
+</li>
+<li>
+Using the IIS management console, add isapi_redirect.dll as a filter in your IIS/PWS web site. 
+The name of the filter should reflect its task (I use the name tomcat), 
+its executable must be our c:\tomcat\bin\win32\i386\isapi_redirect.dll. 
+For PWS, you'll need to use regedit and add/edit the <b>"Filter DLLs"</b> key under 
+<b>HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters</b>. 
+This key contains a "," separated list of dlls ( full paths ) - 
+you need to insert the full path to isapi_redirect.dll.
+</li>
+<li>
+Restart IIS (stop + start the IIS service), make sure that the tomcat filter is marked with a green up-pointing arrow.
+Under Win98 you may need to <b>cd WINDOWS\SYSTEM\inetsrv</b> and type PWS /stop 
+( the DLL and log files are locked - even if you click the stop button, 
+PWS will still keep the DLLs in memory. ). Type pws to start it again.
+</li>
+</ol>
+</p>
+<p>
+That's all, you should now start Tomcat and ask IIS to serve you the /examples context. 
+Try <a href="http://localhost/examples/jsp/index.html">http://localhost/examples/jsp/index.html</a> for example and 
+execute some of the JSP examples. 
+</p>
+<p>
+If this does not work successfully, refer to the Troubleshooting section below for help on correcting the problem.
+</p>
+
+<subsection name="Adding additional Contexts">
+<p>
+The examples context is useful for verifying your installation, 
+but you will also need to add your own contexts. Adding a new context requires two operations:
+</p>
+<p>
+<ol>
+<li>
+Adding the context to Tomcat (I am not going to talk about this).
+</li>
+<li>
+Adding the context to the ISAPI redirector.
+</li>
+</ol>
+</p>
+<p>
+Adding a context to the ISAPI redirector is simple, all you need to do is to edit 
+your uriworkermap.properties and to add a line that looks like:
+</p>
+
+<source>
+  /context/*=worker_name
+</source>
+
+<p>
+Workers and their name are defined in workers.properties, by default workers.properties comes 
+with a single pre-configured worker named <b>"defworker"</b> so you can use it. 
+As an example, if you want to add a context named "shop", the line that you should add to 
+uriworkermap.properties will be:
+</p>
+
+<source>
+  /shop/*=defworker
+</source>
+
+After saving uriworkermap.properties restart IIS and it will serve the new context.
+
+<p>
+A feature is present till Tomcat 3.2, where a uriworkermap.properties-auto is automatically 
+written each time Tomcat is started. This file includes settings for each of the contexts that 
+Tomcat will serve during its run. 
+</p>
+<p>
+Each context has settings to have Tomcat handle servlet and JSP requests, 
+but by default static content is left to be served by IIS. 
+</p>
+<p>
+Each context also has a commented out setting to have Tomcat handle all requests to the context. 
+You can rename this file (so it won't be overwritten the next time Tomcat is started) and 
+uncomment this setting or make other customizations. 
+</p>
+<p>
+You may also use this file as is in your worker_mount_file setting.
+</p>
+</subsection>
+
+<subsection name="Advanced Context Configuration">
+<p>
+Sometimes it is better to have IIS serve the static pages (html, gif, jpeg etc.) 
+even if these files are part of a context served by Tomcat. 
+</p>
+<p>
+For example, consider the html and gif files in the examples context, there is no need 
+to serve them from the Tomcat process, IIS will suffice.
+</p>
+
+<p>
+Making IIS serve static files that are part of the Tomcat contexts requires the following:
+<ol>
+<li>
+Configuring IIS to know about the Tomcat contexts
+</li>
+<li>
+Configuring the redirector to leave the static files for IIS
+</li>
+</ol>
+</p>
+
+<p>
+Adding a Tomcat context to IIS requires the addition of a new IIS virtual directory that covers the Tomcat context. 
+For example adding a /example IIS virtual directory that covers the c:\tomcat\webapps\examples directory.
+</p>
+
+<p>
+Configuring the redirector is somewhat harder, you will need to specify the exact 
+URL-Path pattern(s) that you want Tomcat to handle (usually only JSP files and servlets). 
+This requires a change to the uriworkermap.properties : 
+
+<source>
+  For the examples context it requires to replace the following line
+  /examples/*=defworker
+  with the following two lines
+  /examples/*.jsp=defworker
+  /examples/servlet/*=defworker
+</source>
+</p>
+
+<p>
+As you can see the second configuration is more explicit, it actually instruct the redirector 
+to redirect only requests to resources under /examples/servlet/ and resources under /examples/ 
+whose name ends with .jsp. 
+This is similar to what is automically written to the uriworkermap.properties-auto file for each context.
+</p>
+
+<p>
+You can even be more explicit and provide lines such as:
+
+<source>
+  /example/servletname=defworker
+</source>
+</p>
+
+<p>
+that instructs the redirector to redirect request whose URL-Path equals /example/servletname 
+to the worker named defworker.
+</p>
+
+</subsection>
+
+<subsection name="Protecting the WEB-INF Directory">
+<p>
+Each servlet application (context) has a special directory named WEB-INF, 
+this directory contains sensitive configurations data and Java classes and must be kept hidden from web users. 
+Using the IIS management console it is possible to protect the WEB-INF directory from user access, 
+this however requires the administrator to remember that. 
+</p>
+<p>
+To avoid this need the redirector plugin automatically protects your WEB-INF directories by rejecting 
+any request that contains WEB-INF in its URL-Path.
+</p>
+</subsection>
+
+<subsection name="Advanced Worker Configuration">
+<p>
+Sometimes you want to serve different contexts with different Tomcat processes 
+(for example to spread the load among different machines). 
+To achieve such goal you will need to define several workers and assign each context with its own worker.
+</p>
+<p>
+Defining workers is done in workers.properties, this file includes two types of entries:
+</p>
+
+<p>
+<source>
+  # An entry that lists all the workers defined
+  worker.list=worker1, worker2
+  # Entries that define the host and port associated with these workers
+  worker.worker1.host=localhost
+  worker.worker1.port=8009
+  worker.worker1.type=ajp13
+  worker.worker2.host=otherhost
+  worker.worker2.port=8009
+  worker.worker2.type=ajp13
+</source>
+</p>
+
+<p>
+The above example defined two workers, now we can use these workers to serve two different contexts 
+each with its own worker: 
+<source>
+  example uriworkermap.properties fragment
+  /examples/*=worker1
+  /webpages/*=worker2
+</source>
+</p>
+
+<p>
+As you can see the <b>examples</b> context is served by <b>worker1</b> while the 
+<b>webpages</b> context is served by <b>worker2</b>.
+</p>
+
+<p>
+More informations on using and configuring workers in the <a href="../generic_howto/workers.html">Workers HowTo</a>
+and in the <a href="../reference/workers.html">worker.properties configuration reference</a>.
+</p>
+
+</subsection>
+
+</section>
+
+<section name="Building ISAPI redirector">
+<p>
+The redirector was developed using Visual C++ Ver.6.0, so having this environment is a prereq if you want 
+to perform a custom build. You should also have IIS developer SDK
+
+The steps that you need to take are:
+<ul>
+<li>
+Change directory to the isapi plugins source directory.
+</li>
+<li>
+Make the source with MSDEV
+</li>
+</ul>
+<screen>
+<note>Change directory to the isapi plugins source directory</note>
+<typedos>cd c:\home\apache\jk\iis</typedos>
+<note>Build the sources using MSDEV</note>
+<typedos>MSDEV isapi.dsp /MAKE ALL</typedos>
+</screen>
+</p>
+<p>
+If msdev is not in your path, enter the full path to msdev.exe. 
+This will build both release and debug versions of the redirector plugin.
+An alternative will be to open the isapi workspace file (isapi.dsw) in msdev and 
+build it using the build menu.
+</p>
+</section>
+
+<section name="Troubleshooting">
+<p>
+It is easy to have the ISAPI redirector not work the first time you try to install it.
+</p>
+<p>
+If this happens to you, here are some steps to follow to try to correct the problem.
+</p>
+<p>
+These steps aren't guaranteed to cover all possible problems, 
+but they should help find the typical mistakes.
+</p>
+<p>
+If you make any corrections during these steps, restart the IIS service as described above in the last step 
+of the installation, then retry the step.
+</p>
+
+<p>To enable error tracking, make sure web site activity is being logged. 
+For PWS 4.0 make sure "Save Web Site Activity Log" is checked in the Advanced Options of the Personal Web Manager.
+</p>
+   
+<p>
+Note: These steps assume your <b>worker_mount_file</b> setting points to an unmodified copy of the 
+<b>uriworkermap.properties</b> file.<br/>
+Results may be misleading if <b>worker_mount_file</b> points to a modified <b>uriworkermap.properties</b>
+or the <b>uriworkermap.properties-auto</b> file.<br/>
+It is also assumed that the <b>"/examples" context</b> works correcly if you access Tomcat directly.
+</p>
+
+<subsection name="Win98">
+<p>
+Start the IIS service and Tomcat.
+</p>
+<p>
+Check for the presence of the ISAPI redirector log file you specified in the log_file setting. 
+If not found, verify the following:
+</p>
+<ul>
+<li>
+Check the "Filter DLLs" setting in the "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters" 
+key and make sure the path is correct.
+</li>
+<li>
+Check the spelling of the "HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0" key. 
+Case isn't important, but an incorrect letter will prevent the isapi_redirect.dll from finding its registry settings.
+</li>
+<li>
+Check the log_file setting for typos, name and data. Also insure the directory in which the log file will appear already exists.
+</li>
+If the above are set correctly, the ISAPI redirector should be able to create the log file.
+</ul>
+<p>
+Invoke the URL <a href="http://localhost/examples/jsp/index.html">http://localhost/examples/jsp/index.html</a>
+in your browser. 
+Case is important in Tomcat. The characters following "localhost" in the URL must be lower case. 
+If the page fails to appear, stop the IIS service (required to view the IIS log file). 
+Then examine the last line in the IIS log file in found in SYSTEM/LogFiles/W3SVC1 :
+</p>
+<p>
+If the last line contains: 
+</p>
+<source>
+  GET "/examples/jsp/index.html HTTP/1.1" 404
+</source>
+<p> 
+then the ISAPI redirector is not recognizing that it should be handling requests for the "/examples" context. 
+Check the following:
+</p>
+<ul>
+<li>
+Check the extension_uri name for typos.
+</li>
+<li>
+Check the worker_file setting for typos, name and data.
+</li>
+<li>
+Check the worker_mount_file setting typos, name and data.
+</li>
+If these are set correctly, the ISAPI redirector should recognize that it should handle requests for the "/examples" context.
+</ul>
+
+<p>If the last line contains something like:
+</p>
+
+<source>
+  GET "/jakarta/isapi_redirect.dll HTTP1.1"
+</source>
+
+<p>
+then the ISAPI redirector is recognizing that it should handle the request, 
+but is not successful at getting Tomcat to service the request.
+</p>
+
+<p>
+You should check the HTTP error code following GET "/..." :
+</p>
+
+<source>
+  Error 404
+  GET "/..." 404
+</source>
+
+<ul>
+<li>
+Make sure you entered the URL correctly.
+</li>
+<li>
+Make sure the virtual directory created was called "jakarta". 
+It should display in Personal Web Manager as "/jakarta" (without the quotes).
+</li>
+<li>
+Make sure the extension_uri data begins with "/jakarta/" (without the quotes).
+</li>
+</ul>
+
+<source>
+  Error 500
+  GET "/..." 500
+</source>
+
+<ul>
+<li>
+Make sure that "isapi_redirect.dll" follows "/jakarta/" in the extension_uri setting.
+</li>
+<li>
+Check the workers.properties file and make sure the port setting for worker.ajp12.port is the same as the port specified in the server.xml for the "Apache AJP12 support".
+</li>
+</ul>
+
+<source>
+  Error 200 or 403
+  GET "/..." 200
+  GET "/..." 403
+</source>
+
+<ul>
+<li>
+Make sure you have checked Execute Access 
+for the jakarta virtual directory in the Advanced Options of the Personal Web Manager.
+</li>
+</ul>
+
+<p>
+If the above settings are correct, the index.html page should appear in your browser. 
+You should also be able to click the Execute links to execute the JSP examples.
+</p>
+
+</subsection>
+
+<subsection name="WinNT/Win2K/WinXP">
+<p>
+Start the World Wide Web Publishing Service and Tomcat.
+</p>
+<p>
+Check for the presence of the ISAPI redirector log file you specified in the log_file setting. 
+If not found, check the following:
+</p>
+<ul>
+<li>
+Check the "executable" you set for the filter in the IIS Management Console and make sure the path is correct.
+</li>
+<li>Check the spelling of the "HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0" key.
+Case isn't important, but an incorrect letter will prevent the isapi_redirect.dll from finding its registry settings.
+</li>
+<li>
+Check the log_file setting for typos, name and data. Also insure the directory in which the log file will appear already exists.
+</li>
+If the above are set correctly, the ISAPI redirector should be able to create the log file.
+</ul>
+
+<p>
+Check the tomcat filter you added and make sure its status shows a green upward-pointing arrow. 
+If not, check the following:
+</p>
+<ul>
+<li>
+Check the worker_file setting for typos, name and data.
+</li>
+<li>
+Check the worker_mount_file setting typos, name and data.
+</li>
+If the above are set correctly, the green upward-pointing arrow should appear, even if the other settings are wrong.
+</ul>
+
+<p>
+Invoke the URL <a href="http://localhost/examples/jsp/index.html">http://localhost/examples/jsp/index.html</a> 
+in your browser. Case is important in Tomcat. The characters following "localhost" in the URL must be lower case. 
+If the page fails to appear, examine the last line in the IIS server log file in found in SYSTEM32/LogFiles/W3SVC1.
+</p>
+
+<p>
+The last line should contain something like: GET "/jakarta/isapi_redirect.dll HTTP1.1", 
+which indicates the ISAPI redirector is recognizing that it should handle the request.
+</p>
+
+<p>
+You should check the HTTP error code following GET "/..." :
+</p>
+
+<source>
+  Error 404
+  GET "/..." 404
+</source>
+
+<ul>
+<li>
+Make sure you entered the URL correctly.
+</li>
+</ul>
+
+<source>
+  Error 500
+  GET "/..." 500
+</source>
+
+<ul>
+<li>
+Make sure the virtual directory created was called "jakarta".
+</li>
+<li>
+Make sure that the extension_uri setting is correct.
+</li>
+<li>
+Check the workers.properties file and make sure the port setting for worker.ajp12.port is the same as the port specified in the server.xml for the "Apache AJP12 support".
+</li>
+</ul>
+
+<source>
+  Error 200 or 403
+  GET "/..." 200
+  GET "/..." 403
+</source>
+
+<ul>
+<li>
+Make sure you have checked Execute Access for the jakarta virtual directory in the 
+Advanced Options of the Personal Web Manager.
+</li>
+</ul>
+
+<p>
+If the above settings are correct, the index.html page should appear in your browser. 
+You should also be able to click the Execute links to execute the JSP examples.
+</p>
+</subsection>
+
+
+</section>
+</body>
+</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/nes.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/nes.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/nes.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,487 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="nes.html">
+
+  &project;
+<copyright>
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+</copyright>
+<properties>
+<title>SunOne -- Netscape/iPlanet HowTo</title>
+<author email="hgomez at apache.org">Henri Gomez</author>
+<author email="jim at apache.org">Jim Jagielski</author>
+<author email="shachor at il.ibm.com">Gal Shachor</author>
+<author email="mturk at apache.org">Mladen Turk</author>
+<date>$Date: 2007-02-02 11:16:14 -0700 (Fri, 02 Feb 2007) $</date>
+</properties>
+<body>
+<section name="Introduction">
+<p>
+This document explains how to set up Sun ONE Web Server previously known as
+Netscape web servers to cooperate with Tomcat. 
+</p>
+
+<p>
+Normally the Sun ONE Web Servers come with their own Servlet engine, 
+but you can also configure them to send servlet and JSP requests to Tomcat 
+using the NSAPI redirector plugin.
+</p>
+
+<p>
+It is recommended that you also read the <a href="../generic_howto/workers.html">Workers HowTo</a> document
+to learn how to setup the working entities between your web server and Tomcat Engines.
+</p>
+
+
+<subsection name="Document Conventions and Assumptions">
+<p>
+${tomcat_home} is the root directory of tomcat. 
+Your Tomcat installation should have the following subdirectories:
+
+<ul>
+<li>
+${tomcat_home}\conf - Where you can place various configuration files
+</li>
+<li>
+${tomcat_home}\webapps - Containing example applications
+</li>
+<li>
+${tomcat_home}\bin - Where you place web server plugins
+</li>
+</ul>
+</p>
+<p>
+In all the examples in this document ${tomcat_home} will be <b>c:\tomcat</b>.
+A worker is defined to be a tomcat process that accepts work from the Sun ONE Web Server.
+</p>
+</subsection>
+
+
+<subsection name="Supported Configuration">
+<p>
+The NSAPI-Tomcat redirector was developed and tested on:
+<ul>
+<li>
+WINNT 2000/XP/2003 (should be able to work with other service packs) and some Unixes
+</li>
+<li>
+Sun ONE Web Server 6.1
+</li>
+<li>
+Tomcat 4.1.x , Tomcat 5.0.x and Tomcat 5.5.x
+</li>
+</ul>
+</p>
+
+<p>
+The redirector uses <b>ajp12</b> and <b>ajp13</b> to send requests to the Tomcat containers. 
+There is also an option to use Tomcat in process, 
+more about the in-process mode can be found in the in process howto.
+</p>
+</subsection>
+
+<subsection name="Who support ajp protocols ?">
+<p>
+The ajp12 protocol is only available in Tomcat 3.2.x and 3.3.x.
+</p>
+
+<p>
+The <b>ajp12</b> has been <b>deprecated</b> with Tomcat 3.3.x and you should use instead 
+<b>ajp13</b> which is the only ajp protocol known by Tomcat 4.0.x, 4.1.x, 5.0.x, 5.5.x and 6.
+</p>
+
+<p>
+Of course Tomcat 3.2.x and 3.3.x also support ajp13 protocol.
+</p>
+
+<p>
+Others servlet engines such as <b>jetty</b> have support for ajp13 protocol
+</p>
+
+</subsection>
+
+
+<subsection name="How does it work ?">
+<p>
+<ol>
+<li>
+The NSAPI-Tomcat redirector is an Netscape service step plugin, 
+Netscape load the redirector plugin and calls its service handler 
+function for request that are assigned to the "servlet" configuration object.
+</li>
+<li>
+For each in-coming request Netscape will execute the set of NameTrans directives 
+that we added to obj.conf, the assign-name function will check if it's from 
+parameter matches the request URL.
+</li>
+<li>
+If a match is found, assign-name will assign the servlet object name to the request. 
+This will cause Netscape to send the request to the servlet configuration object.
+</li>
+<li>
+Netscape will execute our jk_service extension. The extension collects the 
+request parameters and forwards them to the appropriate worker using the ajp13 protocol 
+(the worker="defworker" parameter in jk_service inform it that the worker for this request is named <b>defworker</b>).
+the workers properties files, <b>workers.properties</b>, will indicate that defworker use ajp13 protocol.
+</li>
+<li>
+The extension collects the response from the worker and returns it to the browser.
+</li>
+</ol>
+</p>
+</subsection>
+
+</section>
+
+<section name="Installation">
+<p>
+A pre-built version of the NSAPI redirector, nsapi_redirect.dll, may be available under 
+the win32/i386 directory of tomcat-connectors distribution. 
+For those using Netscape as your browser, try downloading a zip version of the file, if available. 
+
+You can also build a copy locally from the source present in tomcat-connectors distribution.
+
+
+The Tomcat redirector requires two entities:
+<ul>
+<li>
+nsapi_redirect.dll (Windows) -or- nsapi_redirector.so (Unix) - The NSAPI server plugin, either obtain a pre-built DLL/so or build it yourself 
+(see the build section).
+</li>
+<li>
+workers.properties - A file that describes the host(s) and port(s) used by the workers (Tomcat processes). 
+A sample workers.properties can be found under the conf directory.
+</li>
+</ul>
+
+The installation includes the following parts:
+
+<ul>
+<li>
+Configuring the NSAPI redirector with a default /examples context and checking that you can serve servlets 
+with Netscape.
+</li>
+<li>
+Adding more contexts to the configuration.
+</li>
+</ul>
+
+</p>
+</section>
+
+<section name="Configuring the NSAPI Redirector">
+<p>
+In this document we'll assume that nsapi_redirect.dll is placed in 
+<b>c:\jk\lib\nsapi_redirect.dll</b>, the properties file is in<b>c:\jk\conf</b>
+and you created a log directory <b>c:\jk\logs</b>
+</p>
+
+<ul>
+<li>
+If the built in servlet support is working disable it.
+</li>
+<li>
+Add the redirector plugin into the Netscape server configuration. 
+Edit your server <b>magnus.conf</b> and add the following lines:
+</li>
+</ul>
+
+<source>
+  
+  Init fn="load-modules" funcs="jk_init,jk_service" shlib="c:/jk/lib/nsapi_redirect.dll" shlib_flags="(global|now)"
+  Init fn="jk_init" worker_file="c:/jk/conf/workers.properties" log_level="debug" log_file="c:/jk/logs/nsapi.log"
+</source>
+<ul>
+<li>
+Edit your server <b>obj.conf</b> and add the following lines:
+</li>
+</ul>
+<source>
+
+  
+  In the default object NameTrans section
+  &lt;Object name="default"&gt;
+      
+  NameTrans fn="assign-name" from="/servlets-examples(|/*)" name="jknsapi" 
+  NameTrans fn="assign-name" from="/jsp-examples(|/*)" name="jknsapi"
+  ....
+  &lt;/Object&gt;
+  
+  Create a new configuration object by adding the following lines to the end of the obj.conf file
+  
+  &lt;Object name="jknsapi"&gt;
+    ObjectType fn=force-type type=text/plain
+    Service fn="jk_service" method="*" worker="worker1"
+  &lt;/Object&gt;
+</source>
+
+<ul>
+<li>
+Restart Web Server (stop and start the server)
+</li>
+</ul>
+
+<p>
+That's all, now you should start tomcat and ask for http://server:port/servlets-examples/
+</p>
+
+<subsection name="Adding additional Contexts">
+<p>
+The examples context is useful for verifying your installation, but you will also need to add your own contexts. 
+Adding a new context requires two operations:
+</p>
+<ul>
+<li>
+Adding the context to Tomcat (I am not going to talk about this).
+</li>
+<li>
+Assigning the NSAPI redirector to handle this context.
+</li>
+</ul>
+
+<p>
+Assigning the NSAPI redirector to handle this context is simple, 
+all you need to do is to edit <b>obj.conf</b> and add a NameTrans line that looks like:
+</p>
+
+<source>
+  NameTrans fn="assign-name" from="/&lt;context name&gt;/*" name="jknsapi"
+</source>
+
+<p>
+After saving <b>obj.conf</b> restart Netscape and it will serve the new context.
+</p>
+</subsection>
+
+<subsection name="Advanced Context Configuration">
+<p>
+Sometimes it is better to have Netscape serve the static pages (html, gif, jpeg etc.) 
+even if these files are part of a context served by Tomcat. For example, consider the html and gif files in the examples context, there is no need to serve them from the Tomcat process, Netscape will suffice.
+</p>
+<p>
+Making Netscape serve static files that are part of the Tomcat contexts requires the following:
+</p>
+<ul>
+<li>
+Configuring Netscape to know about the Tomcat contexts
+</li>
+<li>
+Make sure that the WEB-INF directory is protected from access.
+</li>
+<li>
+Configuring Netscape to assign the NSAPI redirector only specific requests that requires JSP/Servlet handling.
+</li>
+</ul>
+
+<p>
+Adding a Tomcat context to Netscape requires the addition of a new Netscape virtual directory 
+that covers the Tomcat context.
+</p>
+
+<p>
+For example, adding a /example Netscape virtual directory that 
+covers the <b>c:\tomcat\webapps\examples</b> directory. 
+</p>
+
+<p>
+To add a new virtual directory add the following line to your <b>obj.conf</b>:
+</p>
+
+<source>
+  NameTrans fn=pfx2dir from=/examples dir="c:/tomcat/webapps/examples"
+</source>
+
+<p>
+WEB-INF protection requires some explanation; Each servlet application (context) has a special directory named <b>WEB-INF</b>,
+this directory contains sensitive configurations data and Java classes and must be kept hidden from web users. 
+WEB-INF can be protected by adding the following line to the PathCheck section in the default configuration object:
+</p>
+
+<source>
+  PathCheck fn="deny-existence" path="*/WEB-INF/*"
+  
+  This line instructs the Netscape server to reject any request with a URL that contain the path /WEB-INF/.
+</source>
+
+<p>
+Configuring Netscape to assign the NSAPI redirector only specific requests is somewhat harder, 
+you will need to specify the exact URL-Path pattern(s) that you want Tomcat to handle 
+(usually only JSP files and servlets). 
+</p>
+
+<p>
+This requires a change to NemaTrans portion of <b>obj.conf</b>. 
+</p>
+
+<source>
+  For the examples context it requires to replace the following line:
+  
+  NameTrans fn="assign-name" from="/examples/*" name="jknsapi"
+  
+  with the following two lines:
+  
+  NameTrans fn="assign-name" from="/examples/jsp/*.jsp" name="jknsapi"
+  NameTrans fn="assign-name" from="/examples/servlet/*" name="jknsapi"
+</source>
+
+<p>
+As you can see the second configuration is more explicit, it actually instructs 
+Netscape to assign the redirector with only requests to resources under 
+<b>/examples/servlet/</b> and resources under <b>/examples/</b> whose name ends with <b>.jsp</b>.
+</p>
+
+<p>
+You can be even more explicit and provide lines such as:
+</p>
+
+<source>
+  NameTrans fn="assign-name" from="/examples/servletname" name="jknsapi"
+  
+  Instructs Netscape to assign the redirector request whose URL-Path equals /example/servletname
+</source>
+
+</subsection>
+
+<subsection name="Advanced Worker Configuration">
+<p>
+Sometimes you want to serve different contexts with different Tomcat processes 
+(for example to spread the load among different machines). 
+To achieve such goal you will need to define several workers and assign each context with its own worker.
+</p>
+
+<p>
+Defining workers is done in <b>workers.properties</b>, this file includes two types of entries:
+</p>
+
+<source>
+  #An entry that lists all the workers defined. For example:
+  worker.list=worker1,worker2
+  
+  # Entries that define the host and port associated with these workers.
+  worker.worker1.host=localhost
+  worker.worker1.port=8009
+  worker.worker1.type=ajp13
+
+  worker.worker2.host=otherhost
+  worker.worker2.port=8009
+  worker.worker2.type=ajp13
+</source>
+
+<p>
+The above examples defined two workers, now we can use these workers to serve two different 
+contexts each with it's own worker. 
+Submitting requests to different workers is accomplished by using multiple Service directives 
+in the servlet configuration Object, each with a different path pattern parameter. 
+</p>
+
+<p>
+For example, if we want to submit the <b>/examples</b> context to the worker named <b>worker1</b> and the 
+<b>/webpages</b> context to the worker named <b>worker2</b> we should use the following configuration:
+</p>
+
+<source>
+  &lt;Object name="jknsapi"&gt;
+    ObjectType fn=force-type type=text/plain
+    Service fn="jk_service" worker="worker1" path="/examples/*"
+    Service fn="jk_service" worker="worker2" path="/webpages/*"
+    Service fn="jk_service" worker="worker1"
+  &lt;/Object&gt;
+</source>
+
+<p>
+More informations on using and configuring workers in the <a href="../generic_howto/workers.html">Workers HowTo</a>
+and in the <a href="../reference/workers.html">worker.properties configuration reference</a>.
+
+</p>
+</subsection>
+
+</section>
+
+<section name="Building NSAPI DLL redirector for Windows">
+<p>
+The redirector was developed using Visual C++ Ver.6.0, so having this environment is a prereq if you want 
+to perform a custom build. You should also have NES developer SDK
+
+The steps that you need to take are:
+<ul>
+<li>
+Change directory to the nsapi plugins source directory.
+</li>
+<li>
+Edit <b>nsapi.dsp</b> and update the include and library path to reflect your own Netscape server installation 
+(search for a <b>/I compiler</b> option and <b>/libpath</b> linker option)
+</li>
+<li>
+Make the source with MSDEV
+</li>
+</ul>
+<screendos>
+<notedos>Change directory to the nsapi plugins source directory</notedos>
+<typedos>cd c:\home\apache\jk\nsapi</typedos>
+<notedos>Build the sources using MSDEV</notedos>
+<typedos>MSDEV nsapi.dsp /MAKE ALL</typedos>
+</screendos>
+</p>
+<p>
+If msdev is not in your path, enter the full path to msdev.exe. 
+This will build both release and debug versions of the redirector plugin.
+An alternative will be to open the nsapi workspace file (nsapi.dsw) in msdev and 
+build it using the build menu.
+</p>
+</section>
+<section name="Building NSAPI so plugin redirector for Unix">
+<p>
+The redirector requires either gcc or the native Solaris cc compiler.
+
+The steps that you need to take are:
+<ul>
+<li>
+Change directory to the nsapi plugins source directory (src/native).
+</li>
+<li>
+configure for Netscape/iPlanet/SunONE webserver.
+</li>
+<li>
+Change directory to the nsapi netscape directory (./netstape).
+</li>
+<li>
+Edit <b>Makefile.solaris</b> and update the SUITSPOT_HOME and JAVE_HOME path to reflect your own Netscape server installation.
+</li>
+<li>
+Make the source with gmake.
+</li>
+</ul>
+<screendos>
+<notedos>Change directory to the nsapi plugins source directory</notedos>
+<typedos>cd /usr/local/src/tomcat-connectors-xxx-src/native</typedos>
+<notedos>configure for Netscape/iPlanet/SunONE webserver</notedos>
+<typedos>./configure --enable-netscape</typedos>
+<notedos>Change directory to the nsapi netscape directory</notedos>
+<typedos>cd netscape</typedos>
+<notedos>Edit Makefile.solaris</notedos>
+<typedos>vi Makefile.solaris</typedos>
+<notedos>Make the source with gmake</notedos>
+<typedos>gmake -f Makefile.solaris</typedos>
+</screendos>
+</p>
+<p>
+After the build, you will have the required nsapi_redirector.so plugin.
+</p>
+</section>
+</body>
+</document>

Added: branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/project.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/project.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto/project.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="Apache Tomcat Connector Documentation - Webserver HowTo"
+        href="http://tomcat.apache.org/">
+
+    <title>The Apache Tomcat Connector - Webserver HowTo</title>
+
+    <logo href="/images/tomcat.gif">
+      The Apache Tomcat Connector - Webserver HowTo
+    </logo>
+<body>
+
+    <menu name="Links">
+        <item name="Docs Home"                  href="../index.html"/>
+    </menu>
+
+    <menu name="Reference Guide">
+        <item name="workers.properties"         href="../reference/workers.html"/>
+        <item name="uriworkermap.properties"    href="../reference/uriworkermap.html"/>
+        <item name="Status Worker"              href="../reference/status.html"/>
+        <item name="Apache"                     href="../reference/apache.html"/>
+        <item name="IIS"                        href="../reference/iis.html"/>
+    </menu>
+
+    <menu name="Generic HowTo">
+        <item name="For the impatient"          href="../generic_howto/quick.html"/>
+        <item name="All about workers"          href="../generic_howto/workers.html"/>
+        <item name="Load Balancing"             href="../generic_howto/loadbalancers.html"/>
+    </menu>
+
+    <menu name="Webserver HowTo">
+        <item name="Apache"                     href="../webserver_howto/apache.html"/>
+        <item name="IIS"                        href="../webserver_howto/iis.html"/>
+        <item name="Netscape/SunOne/Sun"        href="../webserver_howto/nes.html"/>
+    </menu>
+
+    <menu name="AJP Protocol Reference">
+        <item name="AJPv13"                     href="../ajp/ajpv13a.html"/>
+        <item name="AJPv13 Extension Proposal"  href="../ajp/ajpv13ext.html"/>
+    </menu>
+
+    <menu name="Miscellaneous Documentation">
+        <item name="Frequently asked questions" href="../miscellaneous/faq.html"/>
+        <item name="Changelog"                  href="../miscellaneous/changelog.html"/>
+        <item name="Current Native:JK bugs"     href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Tomcat+5&amp;component=Native%3AJK&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=&amp;emailassigned_to2=1&amp;emailreporter2=1&amp;emailcc2=1&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0="/>
+        <item name="Contribute documentation"   href="../miscellaneous/doccontrib.html"/>
+        <item name="JK Status Ant Tasks"        href="../miscellaneous/jkstatustasks.html"/>
+        <item name="Reporting Tools"            href="../miscellaneous/reporttools.html"/>
+        <item name="Old JK/JK2 documentation"   href="http://tomcat.apache.org/connectors-doc-archive/jk2/index.html"/>
+    </menu>
+
+    <menu name="News">
+        <item name="2006"                       href="../news/20060101.html"/>
+        <item name="2005"                       href="../news/20050101.html"/>
+        <item name="2004"                       href="../news/20041100.html"/>
+    </menu>
+    
+</body>
+</project>

Modified: branches/tomcat5.5/upstream/current/connectors/jni/examples/mkcerts
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/examples/mkcerts	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/examples/mkcerts	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 #!/bin/sh
 #
-# Copyright 1999-2006 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #     http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jni/examples/org/apache/tomcat/jni/Echo.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/examples/org/apache/tomcat/jni/Echo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/examples/org/apache/tomcat/jni/Echo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -16,16 +17,13 @@
 
 package org.apache.tomcat.jni;
 
+import java.io.InputStream;
 import java.util.Properties;
 
-import java.io.*;
-import java.net.*;
-import java.lang.*;
-
 /** Echo server example
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 473804 $, $Date: 2006-11-11 14:56:15 -0700 (Sat, 11 Nov 2006) $
  */
 
 public class Echo {
@@ -60,7 +58,7 @@
     }
 
     /* Acceptor thread. Listens for new connections */
-    private class Acceptor extends Thread {
+    private class Acceptor extends java.lang.Thread {
         private long serverSock = 0;
         private long inetAddress = 0;
         private long pool = 0;
@@ -138,7 +136,7 @@
     }
 
     /* Poller thread. Listens for new recycled connections */
-    private class Poller extends Thread {
+    private class Poller extends java.lang.Thread {
         private long serverPollset = 0;
         private long pool = 0;
         private int nsocks = 0;
@@ -177,7 +175,7 @@
             while (true) {
                 try {
                     if (nsocks < 1) {
-                        Thread.sleep(1);
+                        java.lang.Thread.sleep(1);
                         continue;
                     }
                     /* Two times size then  created pollset */
@@ -222,7 +220,7 @@
         }
     }
 
-    private class Worker extends Thread {
+    private class Worker extends java.lang.Thread {
         private int workerId = 0;
         private long clientSock = 0;
         private byte [] wellcomeMsg = null;
@@ -274,7 +272,6 @@
 
     public Echo()
     {
-        int i;
         echoPool = Pool.create(0);
         try {
             echoAcceptor = new Acceptor();

Modified: branches/tomcat5.5/upstream/current/connectors/jni/examples/org/apache/tomcat/jni/LocalServer.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/examples/org/apache/tomcat/jni/LocalServer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/examples/org/apache/tomcat/jni/LocalServer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,15 +1,12 @@
 package org.apache.tomcat.jni;
 
+import java.io.InputStream;
 import java.util.Properties;
 
-import java.io.*;
-import java.net.*;
-import java.lang.*;
-
 /** Local Socket server example
  *
  * @author Mladen Turk
- * @version $Revision: 300883 $, $Date: 2005-06-24 03:22:58 -0500 (Fri, 24 Jun 2005) $
+ * @version $Revision: 473804 $, $Date: 2006-11-11 14:56:15 -0700 (Sat, 11 Nov 2006) $
  */
 
 public class LocalServer {
@@ -41,7 +38,6 @@
 
     public LocalServer()
     {
-        int i;
         serverPool = Pool.create(0);
         try {
             serverAcceptor = new Acceptor();
@@ -65,7 +61,7 @@
     }
 
     /* Acceptor thread. Listens for new connections */
-    private class Acceptor extends Thread {
+    private class Acceptor extends java.lang.Thread {
         private long serverSock = 0;
         private long inetAddress = 0;
         private long pool = 0;
@@ -107,7 +103,7 @@
         }
     }
 
-    private class Worker extends Thread {
+    private class Worker extends java.lang.Thread {
         private int workerId = 0;
         private long clientSock = 0;
         private byte [] wellcomeMsg = null;

Modified: branches/tomcat5.5/upstream/current/connectors/jni/examples/org/apache/tomcat/jni/SSLServer.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/examples/org/apache/tomcat/jni/SSLServer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/examples/org/apache/tomcat/jni/SSLServer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,15 +1,12 @@
 package org.apache.tomcat.jni;
 
+import java.io.InputStream;
 import java.util.Properties;
 
-import java.io.*;
-import java.net.*;
-import java.lang.*;
-
 /** SSL Server server example
  *
  * @author Mladen Turk
- * @version $Revision: 300872 $, $Date: 2005-06-21 11:20:45 -0500 (Tue, 21 Jun 2005) $
+ * @version $Revision: 473804 $, $Date: 2006-11-11 14:56:15 -0700 (Sat, 11 Nov 2006) $
  */
 
 public class SSLServer {
@@ -54,7 +51,6 @@
 
     public SSLServer()
     {
-        int i;
         serverPool = Pool.create(0);
         try {
             /* Create SSL Context, one for each Virtual Host */
@@ -85,7 +81,7 @@
     }
 
     /* Acceptor thread. Listens for new connections */
-    private class Acceptor extends Thread {
+    private class Acceptor extends java.lang.Thread {
         private long serverSock = 0;
         private long inetAddress = 0;
         private long pool = 0;
@@ -164,7 +160,7 @@
         }
     }
 
-    private class Worker extends Thread {
+    private class Worker extends java.lang.Thread {
         private int workerId = 0;
         private long clientSock = 0;
         private byte [] wellcomeMsg = null;

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/Apr.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/Apr.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/Apr.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2000-2005 The Apache Software Foundation
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Address.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Address.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Address.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Address
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Address {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/BIOCallback.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/BIOCallback.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/BIOCallback.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Open SSL BIO Callback Interface
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface BIOCallback {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Directory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Directory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Directory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Directory
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Directory {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Error.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Error.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Error.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Error
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Error extends Exception {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/File.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/File.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/File.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -20,7 +21,7 @@
 /** File
  *
  * @author Mladen Turk
- * @version $Revision: 369000 $, $Date: 2006-01-14 02:08:44 -0600 (Sat, 14 Jan 2006) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class File {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/FileInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/FileInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/FileInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Fileinfo
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class FileInfo {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Global.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Global.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Global.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Global
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Global {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Library.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Library.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Library.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Library
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class Library {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Local.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Local.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Local.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Local socket
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Local {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Lock.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Lock.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Lock.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Lock
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Lock {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Mmap.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Mmap.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Mmap.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Mmap
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Mmap {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Multicast.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Multicast.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Multicast.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Multicast
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Multicast {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/OS.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/OS.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/OS.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** OS
  *
  * @author Mladen Turk
- * @version $Revision: 386278 $, $Date: 2006-03-16 01:15:58 -0600 (Thu, 16 Mar 2006) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class OS {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/PasswordCallback.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/PasswordCallback.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/PasswordCallback.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** PasswordCallback Interface
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface PasswordCallback {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Poll.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Poll.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Poll.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Poll
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Poll {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Pool.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Pool.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Pool.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -21,7 +22,7 @@
 /** Pool
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Pool {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/PoolCallback.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/PoolCallback.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/PoolCallback.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** PoolCallback Interface
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface PoolCallback {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Proc.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Proc.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Proc.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Proc
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Proc {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/ProcErrorCallback.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/ProcErrorCallback.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/ProcErrorCallback.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** ProcErrorCallback Interface
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface ProcErrorCallback {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Procattr.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Procattr.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Procattr.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Procattr
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Procattr {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Registry.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Registry.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Registry.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Windows Registy support
  *
  * @author Mladen Turk
- * @version $Revision: 301076 $, $Date: 2005-09-29 07:07:39 -0500 (Thu, 29 Sep 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Registry {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/SSL.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/SSL.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/SSL.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** SSL
  *
  * @author Mladen Turk
- * @version $Revision: 439948 $, $Date: 2006-09-04 01:29:33 -0500 (Mon, 04 Sep 2006) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class SSL {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/SSLContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/SSLContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/SSLContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** SSL Context
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class SSLContext {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/SSLSocket.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/SSLSocket.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/SSLSocket.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** SSL Socket
  *
  * @author Mladen Turk
- * @version $Revision: 300970 $, $Date: 2005-07-12 12:01:42 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class SSLSocket {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Shm.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Shm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Shm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -21,7 +22,7 @@
 /** Shm
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Shm {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Sockaddr.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Sockaddr.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Sockaddr.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Sockaddr
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Sockaddr {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Socket.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Socket.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Socket.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
 /** Socket
  *
  * @author Mladen Turk
- * @version $Revision: 416780 $, $Date: 2006-06-23 12:58:41 -0500 (Fri, 23 Jun 2006) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Socket {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Status.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Status.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Status.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Status
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Status {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Stdlib.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Stdlib.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Stdlib.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Stdlib
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Stdlib {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Thread.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Thread.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Thread.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Thread
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 16:56:11 +0200 (uto, 12 srp 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public class Thread {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Time.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Time.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/Time.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** Time
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Time {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/User.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/User.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/org/apache/tomcat/jni/User.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2000-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /** User
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class User {

Modified: branches/tomcat5.5/upstream/current/connectors/jni/java/overview.html
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/java/overview.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/java/overview.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <!--
 
- Copyright 2001-2004 The Apache Software Foundation.
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
 
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jni/jnirelease.sh
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/jnirelease.sh	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/jnirelease.sh	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 #/bin/sh
 #
-# Copyright 1999-2005 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #    http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
@@ -14,15 +15,46 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# APRDIR have to be the location of the APR sources
-APRDIR=$HOME/apr
-#
-# Replace JKJNIEXT with branche/or tag
-#  and JKJNIVER by the version like -1.1.0
-JKJNIEXT="trunk"
-JKJNIVER="-dev"
+# Default place to look for apr source.  Can be overridden with 
+#   --with-apr=[directory]
+apr_src_dir=../apr
+
+while test $# -gt 0 
+do
+  # Normalize
+  case "$1" in
+  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) optarg= ;;
+  esac
+
+  case "$1" in
+  --with-apr=*)
+  apr_src_dir=$optarg
+  ;;
+  esac
+
+  shift
+done
+
+if test -d "$apr_src_dir"
+then
+  echo ""
+  echo "Looking for apr source in $apr_src_dir"
+else
+  echo ""
+  echo "Problem finding apr source in $apr_src_dir."
+  echo "Use:"
+  echo "  --with-apr=[directory]" 
+  exit 1
+fi
+
+# Replace JKJNIEXT with branch/or tag
+# and JKJNIVER by the version like 1.1.0
+JKJNIEXT=trunk
+JKJNIVER=current
+# JKJNIVER="1.1.6"
 SVNBASE=https://svn.apache.org/repos/asf/tomcat/connectors/
-JKJNIDIST=tomcat-connectors${JKJNIVER}
+JKJNIDIST=tomcat-connectors-${JKJNIVER}-src
 rm -rf ${JKJNIDIST}
 mkdir -p ${JKJNIDIST}/jni
 svn export $SVNBASE/${JKJNIEXT}/jni/native ${JKJNIDIST}/jni/native
@@ -31,15 +63,22 @@
 svn cat $SVNBASE/${JKJNIEXT}/NOTICE > ${JKJNIDIST}/NOTICE
 svn cat $SVNBASE/${JKJNIEXT}/jni/NOTICE.txt > ${JKJNIDIST}/NOTICE.txt
 svn cat $SVNBASE/${JKJNIEXT}/jni/README.txt > ${JKJNIDIST}/README.txt
-
+#
 # Prebuild
 cd ${JKJNIDIST}/jni/native
-# Adjust the location of APR sources
-./buildconf --with-apr=$APRDIR
+./buildconf --with-apr=$apr_src_dir
 cd ../../../
-# Create distribution
-tar cvf ${JKJNIDIST}.tar ${JKJNIDIST}
-gzip ${JKJNIDIST}.tar
-# Convert lineends to DOS
-perl $APRDIR/build/lineends.pl --cr ${JKJNIDIST}
-zip -9 -r  ${JKJNIDIST}.zip ${JKJNIDIST}
+# Create source distribution
+tar cfz ${JKJNIDIST}.tar.gz ${JKJNIDIST}
+#
+# Create Win32 source distribution
+JKJNIDIST=tomcat-connectors-${JKJNIVER}-win32-src
+rm -rf ${JKJNIDIST}
+mkdir -p ${JKJNIDIST}/jni
+svn export --native-eol CRLF $SVNBASE/${JKJNIEXT}/jni/native ${JKJNIDIST}/jni/native
+svn cat $SVNBASE/${JKJNIEXT}/KEYS > ${JKJNIDIST}/KEYS
+svn cat $SVNBASE/${JKJNIEXT}/LICENSE > ${JKJNIDIST}/LICENSE
+svn cat $SVNBASE/${JKJNIEXT}/NOTICE > ${JKJNIDIST}/NOTICE
+svn cat $SVNBASE/${JKJNIEXT}/jni/NOTICE.txt > ${JKJNIDIST}/NOTICE.txt
+svn cat $SVNBASE/${JKJNIEXT}/jni/README.txt > ${JKJNIDIST}/README.txt
+zip -9rqo ${JKJNIDIST}.zip ${JKJNIDIST}

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/build/buildcheck.sh
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/build/buildcheck.sh	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/build/buildcheck.sh	2007-05-21 10:51:24 UTC (rev 3531)
@@ -7,26 +7,26 @@
 if test -z "$python"; then
 echo "buildconf: python not found."
 echo "           You need python installed"
-echo "           to build APR from CVS."
+echo "           to build Tomcat Native from SVN."
 exit 1
 else
 py_version=`python -c 'import sys; print sys.version' 2>&1|sed 's/ .*//;q'`
 echo "buildconf: python version $py_version (ok)"
 fi
 
-# autoconf 2.13 or newer
+# autoconf 2.50 or newer
 ac_version=`${AUTOCONF:-autoconf} --version 2>/dev/null|sed -e 's/^[^0-9]*//;s/[a-z]* *$//;q'`
 if test -z "$ac_version"; then
 echo "buildconf: autoconf not found."
-echo "           You need autoconf version 2.13 or newer installed"
-echo "           to build Apache from CVS."
+echo "           You need autoconf version 2.50 or newer installed"
+echo "           to build Tomcat Native from SVN."
 exit 1
 fi
 IFS=.; set $ac_version; IFS=' '
-if test "$1" = "2" -a "$2" -lt "13" || test "$1" -lt "2"; then
+if test "$1" = "2" -a "$2" -lt "50" || test "$1" -lt "2"; then
 echo "buildconf: autoconf version $ac_version found."
-echo "           You need autoconf version 2.13 or newer installed"
-echo "           to build Apache from CVS."
+echo "           You need autoconf version 2.50 or newer installed"
+echo "           to build Tomcat Native from SVN."
 exit 1
 else
 echo "buildconf: autoconf version $ac_version (ok)"
@@ -37,27 +37,21 @@
 # ltmain.sh (GNU libtool 1.1361 2004/01/02 23:10:52) 1.5a
 # output is multiline from 1.5 onwards
 
-# Require libtool 1.3.3 or newer
+# Require libtool 1.4 or newer
 libtool=`build/PrintPath glibtool libtool libtool15 libtool14`
 lt_pversion=`$libtool --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'`
 if test -z "$lt_pversion"; then
 echo "buildconf: libtool not found."
-echo "           You need libtool version 1.3.3 or newer installed"
-echo "           to build Apache from CVS."
+echo "           You need libtool version 1.4 or newer installed"
+echo "           to build Tomcat Native from SVN."
 exit 1
 fi
 lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
 IFS=.; set $lt_version; IFS=' '
 lt_status="good"
 if test "$1" = "1"; then
-   if test "$2" -lt "3"; then
+   if test "$2" -lt "4"; then
       lt_status="bad"
-   else
-      if test "$2" = "3"; then
-         if test -z "$3" -o "$3" = "1" -o "$3" = "2"; then
-            lt_status="bad"
-         fi
-      fi
    fi
 fi
 if test $lt_status = "good"; then
@@ -66,7 +60,7 @@
 fi
 
 echo "buildconf: libtool version $lt_pversion found."
-echo "           You need libtool version 1.3.3 or newer installed"
-echo "           to build Apache from CVS."
+echo "           You need libtool version 1.4 or newer installed"
+echo "           to build Tomcat Native from SVN."
 
 exit 1

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/build/lineends.pl
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/build/lineends.pl	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/build/lineends.pl	2007-05-21 10:51:24 UTC (rev 3531)
@@ -23,7 +23,7 @@
 $ignore .= "gif-jpg-jpeg-png-ico-bmp-";
 
 # Archive formats
-$ignore .= "tar-gz-z-zip-jar-war-";
+$ignore .= "tar-gz-z-zip-jar-war-bz2-tgz-";
 
 # Many document formats
 $ignore .= "eps-psd-pdf-ai-";
@@ -32,9 +32,9 @@
 $ignore .= "ucs2-ucs4-";
 
 # Some binary objects
-$ignore .= "class-so-dll-exe-obj-";
+$ignore .= "class-so-dll-exe-obj-a-o-lo-slo-sl-dylib-";
 
-# Some build env files in NW/Win32
+# Some build env files
 $ignore .= "mcp-xdc-ncb-opt-pdb-ilk-sbr-";
 
 $preservedate = 1;

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/buildconf
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/buildconf	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/buildconf	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 #!/bin/sh
 #
-# Copyright 1999-2004 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #     http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/config.layout
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/config.layout	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/config.layout	2007-05-21 10:51:24 UTC (rev 3531)
@@ -9,6 +9,22 @@
 ##    (This may become a configurable parameter at some point.)
 ##
 
+#   Generic path layout that needs --prefix=/some/path
+<Layout generic>
+    exec_prefix:   ${prefix}
+    bindir:        ${exec_prefix}/bin
+    sbindir:       ${exec_prefix}/bin
+    libdir:        ${exec_prefix}/lib
+    libexecdir:    ${exec_prefix}/modules
+    mandir:        ${prefix}/man
+    sysconfdir:    ${prefix}/conf
+    datadir:       ${prefix}
+    installbuilddir: ${datadir}/build
+    includedir:    ${prefix}/include/apr-${TCNATIVE_MAJOR_VERSION}
+    localstatedir: ${prefix}
+    libsuffix:     -${TCNATIVE_MAJOR_VERSION}
+</Layout>
+
 #   Classical Tomcat Native path layout designed for parallel installs.
 <Layout tcnative>
     prefix:        /usr/local/apr

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/configure.in
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/configure.in	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/configure.in	2007-05-21 10:51:24 UTC (rev 3531)
@@ -2,7 +2,7 @@
 dnl Process this file with autoconf to produce a configure script
 dnl
 
-AC_PREREQ(2.13)
+AC_PREREQ(2.50)
 AC_INIT(configure.in)
 
 AC_CONFIG_AUX_DIR(build)
@@ -101,8 +101,7 @@
 APR_ADDTO(TCNATIVE_PRIV_INCLUDES,[-I$JAVA_HOME/$JAVA_INC])
 
 dnl sableVM does not have/need $JAVA_OS/jni_md.h
-if test "$SABLEVM" = "NONE"
-then
+if test "$SABLEVM" = "NONE"; then
   TCN_FIND_JDK_OS
   if test -z "${JAVA_OS}"; then
     AC_MSG_RESULT([jni_md.h found in $JAVA_HOME/$JAVA_INC])
@@ -119,8 +118,20 @@
 dnl
 dnl Detect openssl toolkit installation
 dnl
-TCN_CHECK_SSL_TOOLKIT
 
+use_openssl=true;
+
+AC_ARG_ENABLE(openssl, 
+[ --disable-openssl   avoid using OpenSSL toolkit],
+[
+  use_openssl=false;
+  AC_MSG_RESULT([Disabling SSL support...])
+])
+
+if $use_openssl ; then
+  TCN_CHECK_SSL_TOOLKIT
+fi
+
 so_ext=$APR_SO_EXT
 lib_target=$APR_LIB_TARGET
 AC_SUBST(so_ext)

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/include/ssl_private.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/include/ssl_private.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/include/ssl_private.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 301018 $, $Date: 2005-08-01 02:23:09 -0500 (Mon, 01 Aug 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 #ifndef SSL_PRIVATE_H

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/include/tcn.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/include/tcn.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/include/tcn.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 440699 $, $Date: 2006-09-06 07:30:48 -0500 (Wed, 06 Sep 2006) $
+ * @version $Revision: 473341 $, $Date: 2006-11-10 06:55:47 -0700 (Fri, 10 Nov 2006) $
  */
 
 #ifndef TCN_H
@@ -144,6 +145,7 @@
 
 typedef struct {
     apr_pool_t   *pool;
+    apr_pool_t   *child;
     apr_socket_t *sock;
     void         *opaque;
     char         *jsbbuff;

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/include/tcn_api.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/include/tcn_api.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/include/tcn_api.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 439960 $, $Date: 2006-09-04 02:15:58 -0500 (Mon, 04 Sep 2006) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 #ifndef TCN_API_H

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/include/tcn_version.h
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/include/tcn_version.h	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/include/tcn_version.h	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 441018 $, $Date: 2006-09-07 03:28:19 -0500 (Thu, 07 Sep 2006) $
+ * @version $Revision: 475841 $, $Date: 2006-11-16 11:05:18 -0700 (Thu, 16 Nov 2006) $
  */
 
 #ifndef TCN_VERSION_H
@@ -68,13 +69,13 @@
 #define TCN_MINOR_VERSION       1
 
 /** patch level */
-#define TCN_PATCH_VERSION       5
+#define TCN_PATCH_VERSION       8
 
 /**
  *  This symbol is defined for internal, "development" copies of TCN. This
  *  symbol will be #undef'd for releases.
  */
-#define TCN_IS_DEV_VERSION
+#undef TCN_IS_DEV_VERSION
 
 
 /** The formatted string of APU's version */

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/os/netware/system.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/os/netware/system.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/os/netware/system.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
  
 #include "apr.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/os/unix/system.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/os/unix/system.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/os/unix/system.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 405933 $, $Date: 2006-05-12 18:13:44 -0500 (Fri, 12 May 2006) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 #include "apr.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/os/unix/uxpipe.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/os/unix/uxpipe.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/os/unix/uxpipe.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /** UNIX AF_LOCAL network wrapper
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/libtcnative.rc
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/libtcnative.rc	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/libtcnative.rc	2007-05-21 10:51:24 UTC (rev 3531)
@@ -19,7 +19,7 @@
                     "specific language governing permissions and " \
                     "limitations under the License."
 
-#define TCN_VERISON "1.1.5"
+#define TCN_VERISON "1.1.8"
 1000 ICON "apache.ico"
 
 1001 DIALOGEX 0, 0, 252, 51
@@ -35,8 +35,8 @@
 END
 
 1 VERSIONINFO
- FILEVERSION 1,1,5,0
- PRODUCTVERSION 1,1,5,0
+ FILEVERSION 1,1,8,0
+ PRODUCTVERSION 1,1,8,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/ntpipe.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/ntpipe.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/ntpipe.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /** NT Pipes network wrapper
  *
  * @author Mladen Turk
- * @version $Revision: 411550 $, $Date: 2006-06-04 07:06:09 -0500 (Sun, 04 Jun 2006) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/registry.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/registry.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/registry.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 411550 $, $Date: 2006-06-04 07:06:09 -0500 (Sun, 04 Jun 2006) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 #ifndef _WIN32_WINNT

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/system.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/system.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/os/win32/system.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 411550 $, $Date: 2006-06-04 07:06:09 -0500 (Sun, 04 Jun 2006) $
+ * @version $Revision: 479112 $, $Date: 2006-11-25 03:22:33 -0700 (Sat, 25 Nov 2006) $
  */
 
 #ifndef _WIN32_WINNT
@@ -33,7 +34,9 @@
 #include "apr_arch_atime.h"  /* for FileTimeToAprTime */
 
 #include "tcn.h"
+#ifdef HAVE_OPENSSL
 #include "ssl_private.h"
+#endif
 
 #pragma warning(push)
 #pragma warning(disable : 4201)
@@ -370,6 +373,8 @@
     return rv;
 }
 
+#ifdef HAVE_OPENSSL
+
 static DWORD WINAPI password_thread(void *data)
 {
     tcn_pass_cb_t *cb = (tcn_pass_cb_t *)data;
@@ -460,4 +465,4 @@
     return (int)strlen(data->password);
 }
 
-
+#endif

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/address.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/address.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/address.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2006 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 416783 $, $Date: 2006-06-23 20:06:15 +0200 (pet, 23 lip 2006) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/dir.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/dir.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/dir.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
  
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/error.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/error.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/error.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 440699 $, $Date: 2006-09-06 07:30:48 -0500 (Wed, 06 Sep 2006) $
+ * @version $Revision: 473703 $, $Date: 2006-11-11 05:30:52 -0700 (Sat, 11 Nov 2006) $
  */
 
 #include "tcn.h"
@@ -69,7 +70,7 @@
         if (f != file) {
             f++;
         }
-        sprintf(fmt, "%s for [%s::%04d]", msg, line, f);
+        sprintf(fmt, "%s for [%04d@%s]", msg, line, f);
         (*env)->ThrowNew(env, javaExceptionClass, &fmt[0]);
     }
     else

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/file.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/file.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/file.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 377964 $, $Date: 2006-02-15 02:33:27 -0600 (Wed, 15 Feb 2006) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
  
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/info.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/info.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/info.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
  
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/jnilib.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/jnilib.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/jnilib.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 439960 $, $Date: 2006-09-04 02:15:58 -0500 (Mon, 04 Sep 2006) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/lock.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/lock.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/lock.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
  
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/misc.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/misc.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/misc.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
  
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/mmap.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/mmap.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/mmap.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
  
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/multicast.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/multicast.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/multicast.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2006 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 416783 $, $Date: 2006-06-23 20:06:15 +0200 (pet, 23 lip 2006) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/network.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/network.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/network.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2006 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 442529 $, $Date: 2006-09-12 03:54:10 -0500 (Tue, 12 Sep 2006) $
+ * @version $Revision: 487043 $, $Date: 2006-12-14 00:14:15 -0700 (Thu, 14 Dec 2006) $
  */
 
 #include "tcn.h"
@@ -82,8 +83,9 @@
     if (s->net && s->net->cleanup)
         (*s->net->cleanup)(s->opaque);
     if (s->sock) {
-        apr_socket_close(s->sock);
+        apr_socket_t *as = s->sock;
         s->sock = NULL;
+        apr_socket_close(as);
     }
 #ifdef TCN_DO_STATISTICS
     apr_atomic_inc32(&sp_cleared);
@@ -180,6 +182,15 @@
     GET_S_FAMILY(f, family);
     GET_S_TYPE(t, type);
 
+    a = (tcn_socket_t *)apr_pcalloc(p, sizeof(tcn_socket_t));
+    TCN_CHECK_ALLOCATED(a);
+    a->pool = p;
+    if (family >= 0)
+        a->net = &apr_socket_layer;
+    apr_pool_cleanup_register(p, (const void *)a,
+                              sp_socket_cleanup,
+                              apr_pool_cleanup_null);
+
     if (family >= 0) {
         TCN_THROW_IF_ERR(apr_socket_create(&s,
                          f, t, protocol, p), a);
@@ -187,19 +198,15 @@
 #ifdef TCN_DO_STATISTICS
     sp_created++;
 #endif
-    a = (tcn_socket_t *)apr_pcalloc(p, sizeof(tcn_socket_t));
-    TCN_CHECK_ALLOCATED(a);
     a->sock = s;
-    a->pool = p;
     if (family >= 0)
         a->net = &apr_socket_layer;
     a->opaque   = s;
-    apr_pool_cleanup_register(p, (const void *)a,
-                              sp_socket_cleanup,
-                              apr_pool_cleanup_null);
+    apr_pool_create(&a->child, a->pool);
 
+    return P2J(a);
 cleanup:
-    return P2J(a);
+    return 0;
 
 }
 
@@ -208,6 +215,18 @@
     tcn_socket_t *s = J2P(sock, tcn_socket_t *);
     UNREFERENCED_STDARGS;
     TCN_ASSERT(sock != 0);
+
+    apr_pool_cleanup_kill(s->pool, s, sp_socket_cleanup);
+    if (s->net && s->net->cleanup) {
+        (*s->net->cleanup)(s->opaque);
+        s->net = NULL;
+    }
+    if (s->sock) {
+        apr_socket_t *as = s->sock;
+        s->sock = NULL;
+        apr_socket_close(as);
+    }
+
     apr_pool_destroy(s->pool);
 }
 
@@ -263,6 +282,10 @@
     UNREFERENCED_STDARGS;
     TCN_ASSERT(sock != 0);
 
+    apr_pool_cleanup_kill(s->pool, s, sp_socket_cleanup);
+    if (s->child) {
+        apr_pool_clear(s->child);
+    }
 #ifdef TCN_DO_STATISTICS
     apr_atomic_inc32(&sp_closed);
 #endif
@@ -271,8 +294,9 @@
         s->net = NULL;
     }
     if (s->sock) {
-        rv = (jint)apr_socket_close(s->sock);
+        apr_socket_t *as = s->sock;
         s->sock = NULL;
+        rv = (jint)apr_socket_close(as);
     }
     return rv;
 }
@@ -315,6 +339,13 @@
 
     if (s->net->type == TCN_SOCKET_APR) {
         TCN_ASSERT(s->sock != NULL);
+        a = (tcn_socket_t *)apr_pcalloc(p, sizeof(tcn_socket_t));
+        TCN_CHECK_ALLOCATED(a);
+        a->pool   = p;
+        apr_pool_cleanup_register(p, (const void *)a,
+                                  sp_socket_cleanup,
+                                  apr_pool_cleanup_null);
+
         TCN_THROW_IF_ERR(apr_socket_accept(&n, s->sock, p), n);
     }
     else {
@@ -325,15 +356,9 @@
 #ifdef TCN_DO_STATISTICS
         apr_atomic_inc32(&sp_accepted);
 #endif
-        a = (tcn_socket_t *)apr_pcalloc(p, sizeof(tcn_socket_t));
-        TCN_CHECK_ALLOCATED(a);
+        a->net    = &apr_socket_layer;
         a->sock   = n;
-        a->pool   = p;
-        a->net    = &apr_socket_layer;
         a->opaque = n;
-        apr_pool_cleanup_register(p, (const void *)a,
-                                  sp_socket_cleanup,
-                                  apr_pool_cleanup_null);
     }
 
 cleanup:
@@ -353,6 +378,13 @@
     TCN_THROW_IF_ERR(apr_pool_create(&p, s->pool), p);
     if (s->net->type == TCN_SOCKET_APR) {
         TCN_ASSERT(s->sock != NULL);
+        a = (tcn_socket_t *)apr_pcalloc(p, sizeof(tcn_socket_t));
+        TCN_CHECK_ALLOCATED(a);
+        a->pool   = p;
+        apr_pool_cleanup_register(s->child, (const void *)a,
+                                  sp_socket_cleanup,
+                                  apr_pool_cleanup_null);
+
         TCN_THROW_IF_ERR(apr_socket_accept(&n, s->sock, p), n);
     }
     else {
@@ -363,15 +395,9 @@
 #ifdef TCN_DO_STATISTICS
         apr_atomic_inc32(&sp_accepted);
 #endif
-        a = (tcn_socket_t *)apr_pcalloc(p, sizeof(tcn_socket_t));
-        TCN_CHECK_ALLOCATED(a);
+        a->net    = &apr_socket_layer;
         a->sock   = n;
-        a->pool   = p;
-        a->net    = &apr_socket_layer;
         a->opaque = n;
-        apr_pool_cleanup_register(p, (const void *)a,
-                                  sp_socket_cleanup,
-                                  apr_pool_cleanup_null);
     }
     return P2J(a);
 cleanup:
@@ -398,7 +424,10 @@
     apr_status_t ss;
 
     UNREFERENCED(o);
-    TCN_ASSERT(sock != 0);
+    if (!sock) {
+        tcn_ThrowAPRException(e, APR_ENOTSOCK);
+        return -(jint)APR_ENOTSOCK;
+    }
     TCN_ASSERT(s->opaque != NULL);
 #ifdef TCN_DO_STATISTICS
     sp_max_send = TCN_MAX(sp_max_send, nbytes);
@@ -410,14 +439,14 @@
     if (tosend <= TCN_BUFFER_SZ) {
         jbyte sb[TCN_BUFFER_SZ];
         (*e)->GetByteArrayRegion(e, buf, offset, tosend, &sb[0]);
-        ss = (*s->net->send)(s->opaque, sb, &nbytes);
+        ss = (*s->net->send)(s->opaque, (const char *)&sb[0], &nbytes);
     }
     else {
         jbyte *sb = (jbyte *)malloc(nbytes);
         if (sb == NULL)
             return -APR_ENOMEM;
         (*e)->GetByteArrayRegion(e, buf, offset, tosend, sb);
-        ss = (*s->net->send)(s->opaque, sb, &nbytes);
+        ss = (*s->net->send)(s->opaque, (const char *)sb, &nbytes);
         free(sb);
     }
     if (ss == APR_SUCCESS)
@@ -433,7 +462,10 @@
 {
     tcn_socket_t *s = J2P(sock, tcn_socket_t *);
     UNREFERENCED(o);
-    TCN_ASSERT(sock != 0);
+    if (!sock) {
+        tcn_ThrowAPRException(e, APR_ENOTSOCK);
+        return;
+    }
     TCN_ASSERT(s->opaque != NULL);
     if (buf)
         s->jsbbuff = (char *)(*e)->GetDirectBufferAddress(e, buf);
@@ -446,7 +478,10 @@
 {
     tcn_socket_t *s = J2P(sock, tcn_socket_t *);
     UNREFERENCED(o);
-    TCN_ASSERT(sock != 0);
+    if (!sock) {
+        tcn_ThrowAPRException(e, APR_ENOTSOCK);
+        return;
+    }
     TCN_ASSERT(s->opaque != NULL);
     if (buf)
         s->jrbbuff = (char *)(*e)->GetDirectBufferAddress(e, buf);
@@ -464,7 +499,10 @@
     apr_status_t ss = APR_SUCCESS;
 
     UNREFERENCED(o);
-    TCN_ASSERT(sock != 0);
+    if (!sock) {
+        tcn_ThrowAPRException(e, APR_ENOTSOCK);
+        return -(jint)APR_ENOTSOCK;
+    }
     TCN_ASSERT(s->opaque != NULL);
     TCN_ASSERT(buf != NULL);
 #ifdef TCN_DO_STATISTICS
@@ -500,8 +538,11 @@
     apr_size_t sent = 0;
     apr_status_t ss = APR_SUCCESS;
 
-    UNREFERENCED_STDARGS;
-    TCN_ASSERT(sock != 0);
+    UNREFERENCED(o);
+    if (!sock) {
+        tcn_ThrowAPRException(e, APR_ENOTSOCK);
+        return -(jint)APR_ENOTSOCK;
+    }
     TCN_ASSERT(s->opaque != NULL);
     TCN_ASSERT(s->jsbbuff != NULL);
 #ifdef TCN_DO_STATISTICS
@@ -660,27 +701,40 @@
     tcn_socket_t *s = J2P(sock, tcn_socket_t *);
     apr_size_t nbytes = (apr_size_t)toread;
     apr_status_t ss;
+    apr_interval_time_t pt;
+    apr_interval_time_t nt = J2T(timeout);
 
     UNREFERENCED(o);
     TCN_ASSERT(sock != 0);
     TCN_ASSERT(s->opaque != NULL);
     TCN_ASSERT(buf != NULL);
 
-    if ((ss = (*s->net->timeout_set)(s->opaque, J2T(timeout))) != APR_SUCCESS)
-        goto cleanup;
+    if ((ss = (*s->net->timeout_get)(s->opaque, &pt)) != APR_SUCCESS) {
+        TCN_ERROR_WRAP(ss);
+        return -(jint)ss;
+    }
+    if (pt != nt) {
+        if ((ss = (*s->net->timeout_set)(s->opaque, nt)) != APR_SUCCESS)
+            goto cleanup;
+    }
     if (toread <= TCN_BUFFER_SZ) {
         jbyte sb[TCN_BUFFER_SZ];
-        if ((ss = (*s->net->recv)(s->opaque, sb, &nbytes)) == APR_SUCCESS)
+        if ((ss = (*s->net->recv)(s->opaque, (char *)&sb[0], &nbytes)) == APR_SUCCESS)
             (*e)->SetByteArrayRegion(e, buf, offset, (jsize)nbytes, &sb[0]);
     }
     else {
         jbyte *sb = (jbyte *)malloc(nbytes);
         if (sb == NULL)
             return -APR_ENOMEM;
-        if ((ss = (*s->net->recv)(s->opaque, sb, &nbytes)) == APR_SUCCESS)
+        if ((ss = (*s->net->recv)(s->opaque, (char *)sb, &nbytes)) == APR_SUCCESS)
             (*e)->SetByteArrayRegion(e, buf, offset, (jsize)nbytes, &sb[0]);
         free(sb);
     }
+    if (pt != nt) {
+        if ((ss = (*s->net->timeout_set)(s->opaque, pt)) != APR_SUCCESS)
+            goto cleanup;
+    }
+
 #ifdef TCN_DO_STATISTICS
     if (ss == APR_SUCCESS) {
         sp_max_recv = TCN_MAX(sp_max_recv, nbytes);
@@ -720,7 +774,10 @@
     char *bytes;
 
     UNREFERENCED(o);
-    TCN_ASSERT(sock != 0);
+    if (!sock) {
+        tcn_ThrowAPRException(e, APR_ENOTSOCK);
+        return -(jint)APR_ENOTSOCK;
+    }
     TCN_ASSERT(s->opaque != NULL);
     TCN_ASSERT(buf != NULL);
 
@@ -763,7 +820,11 @@
     apr_status_t ss;
     apr_size_t nbytes = (apr_size_t)len;
 
-    UNREFERENCED_STDARGS;
+    UNREFERENCED(o);
+    if (!sock) {
+        tcn_ThrowAPRException(e, APR_ENOTSOCK);
+        return -(jint)APR_ENOTSOCK;
+    }
     TCN_ASSERT(sock != 0);
     TCN_ASSERT(s->opaque != NULL);
     TCN_ASSERT(s->jrbbuff != NULL);
@@ -806,18 +867,38 @@
     apr_status_t ss;
     apr_size_t nbytes = (apr_size_t)len;
     char *bytes;
+    apr_interval_time_t pt;
+    apr_interval_time_t nt = J2T(timeout);
 
     UNREFERENCED(o);
-    TCN_ASSERT(sock != 0);
+    if (!sock) {
+        tcn_ThrowAPRException(e, APR_ENOTSOCK);
+        return -(jint)APR_ENOTSOCK;
+    }
     TCN_ASSERT(buf != NULL);
     TCN_ASSERT(s->opaque != NULL);
 
     bytes  = (char *)(*e)->GetDirectBufferAddress(e, buf);
     TCN_ASSERT(bytes != NULL);
 
-    if ((ss = (*s->net->timeout_set)(s->opaque, J2T(timeout))) != APR_SUCCESS)
-         return -(jint)ss;
+    if ((ss = (*s->net->timeout_get)(s->opaque, &pt)) != APR_SUCCESS) {
+        TCN_ERROR_WRAP(ss);
+        return -(jint)ss;
+    }
+    if (pt != nt) {
+        if ((ss = (*s->net->timeout_set)(s->opaque, nt)) != APR_SUCCESS) {
+            TCN_ERROR_WRAP(ss);
+            return -(jint)ss;
+        }
+    }
     ss = (*s->net->recv)(s->opaque, bytes + offset, &nbytes);
+    if (pt != nt) {
+        if ((ss = (*s->net->timeout_set)(s->opaque, pt)) != APR_SUCCESS) {
+            TCN_ERROR_WRAP(ss);
+            return -(jint)ss;
+        }
+    }
+
 #ifdef TCN_DO_STATISTICS
     if (ss == APR_SUCCESS) {
         sp_max_recv = TCN_MAX(sp_max_recv, nbytes);
@@ -854,16 +935,37 @@
     tcn_socket_t *s = J2P(sock, tcn_socket_t *);
     apr_status_t ss;
     apr_size_t nbytes = (apr_size_t)len;
+    apr_interval_time_t pt;
+    apr_interval_time_t nt = J2T(timeout);
 
     UNREFERENCED_STDARGS;
-    TCN_ASSERT(sock != 0);
+    UNREFERENCED(o);
+    if (!sock) {
+        tcn_ThrowAPRException(e, APR_ENOTSOCK);
+        return -(jint)APR_ENOTSOCK;
+    }
     TCN_ASSERT(s->jrbbuff != NULL);
     TCN_ASSERT(s->opaque != NULL);
 
 
-    if ((ss = (*s->net->timeout_set)(s->opaque, J2T(timeout))) != APR_SUCCESS)
-         return -(jint)ss;
+    if ((ss = (*s->net->timeout_get)(s->opaque, &pt)) != APR_SUCCESS) {
+        TCN_ERROR_WRAP(ss);
+        return -(jint)ss;
+    }
+    if (pt != nt) {
+        if ((ss = (*s->net->timeout_set)(s->opaque, nt)) != APR_SUCCESS) {
+            TCN_ERROR_WRAP(ss);
+            return -(jint)ss;
+        }
+    }
     ss = (*s->net->recv)(s->opaque, s->jrbbuff + offset, &nbytes);
+    if (pt != nt) {
+        if ((ss = (*s->net->timeout_set)(s->opaque, pt)) != APR_SUCCESS) {
+            TCN_ERROR_WRAP(ss);
+            return -(jint)ss;
+        }
+    }
+
 #ifdef TCN_DO_STATISTICS
     if (ss == APR_SUCCESS) {
         sp_max_recv = TCN_MAX(sp_max_recv, nbytes);
@@ -904,7 +1006,10 @@
     apr_status_t ss;
 
     UNREFERENCED(o);
-    TCN_ASSERT(sock != 0);
+    if (!sock) {
+        tcn_ThrowAPRException(e, APR_ENOTSOCK);
+        return -(jint)APR_ENOTSOCK;
+    }
     TCN_ASSERT(s->sock != NULL);
     TCN_ASSERT(buf != NULL);
     ss = apr_socket_recvfrom(f, s->sock, (apr_int32_t)flags, (char*)(bytes + offset), &nbytes);
@@ -924,10 +1029,11 @@
 {
     tcn_socket_t *s = J2P(sock, tcn_socket_t *);
 
-    UNREFERENCED_STDARGS;
-    TCN_ASSERT(sock != 0);
-    if (!s->sock)
-        return APR_EINVAL;
+    UNREFERENCED(o);
+    if (!s->sock) {
+        tcn_ThrowAPRException(e, APR_ENOTSOCK);
+        return APR_ENOTSOCK;
+    }
     else
         return (jint)(*s->net->opt_set)(s->opaque, (apr_int32_t)opt, (apr_int32_t)on);
 }
@@ -939,9 +1045,8 @@
     apr_int32_t on = 0;
 
     UNREFERENCED(o);
-    TCN_ASSERT(sock != 0);
     if (s->sock)
-        tcn_ThrowAPRException(e, APR_EINVAL);
+        tcn_ThrowAPRException(e, APR_ENOTSOCK);
     else {
         TCN_THROW_IF_ERR((*s->net->opt_get)(s->opaque, (apr_int32_t)opt,
                                             &on), on);
@@ -955,9 +1060,12 @@
 {
     tcn_socket_t *s = J2P(sock, tcn_socket_t *);
 
-    UNREFERENCED_STDARGS;
-    TCN_ASSERT(sock != 0);
+    UNREFERENCED(o);
     TCN_ASSERT(s->opaque != NULL);
+    if (!sock) {
+        tcn_ThrowAPRException(e, APR_ENOTSOCK);
+        return APR_ENOTSOCK;
+    }
     return (jint)(*s->net->timeout_set)(s->opaque, J2T(timeout));
 }
 
@@ -967,8 +1075,12 @@
     apr_interval_time_t timeout;
 
     UNREFERENCED(o);
-    TCN_ASSERT(sock != 0);
+    if (!sock) {
+        tcn_ThrowAPRException(e, APR_ENOTSOCK);
+        return 0;
+    }
     TCN_ASSERT(s->opaque != NULL);
+
     TCN_THROW_IF_ERR((*s->net->timeout_get)(s->opaque, &timeout), timeout);
 cleanup:
     return (jlong)timeout;
@@ -1198,10 +1310,10 @@
 {
     tcn_socket_t *s = J2P(socket, tcn_socket_t *);
     TCN_ALLOC_CSTRING(key);
-    jobject rv = NULL;
+    void *rv = NULL;
 
     UNREFERENCED(o);
-    TCN_ASSERT(sock != 0);
+    TCN_ASSERT(socket != 0);
 
     if (apr_socket_data_get(&rv, J2S(key), s->sock) != APR_SUCCESS) {
         rv = NULL;

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/os.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/os.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/os.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 420070 $, $Date: 2006-07-08 02:18:55 -0500 (Sat, 08 Jul 2006) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/poll.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/poll.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/poll.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2006 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 440712 $, $Date: 2006-09-06 08:44:02 -0500 (Wed, 06 Sep 2006) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 #include "tcn.h"
@@ -178,7 +179,11 @@
     fd.reqevents = (apr_int16_t)reqevents;
     fd.desc.s    = s->sock;
     fd.client_data = s;
-    p->socket_ttl[p->nelts] = apr_time_now();
+    if (p->max_ttl > 0)
+        p->socket_ttl[p->nelts] = apr_time_now();
+    else
+        p->socket_ttl[p->nelts] = 0;
+
     p->socket_set[p->nelts] = fd;
     p->nelts++;
 #ifdef TCN_DO_STATISTICS
@@ -219,6 +224,18 @@
     return apr_pollset_remove(p->pollset, fd);
 }
 
+static void remove_all(tcn_pollset_t *p)
+{
+    apr_int32_t i;
+    for (i = 0; i < p->nelts; i++) {
+        apr_pollset_remove(p->pollset, &(p->socket_set[i]));
+#ifdef TCN_DO_STATISTICS
+        p->sp_removed++;
+#endif
+    }
+    p->nelts = 0;
+}
+
 TCN_IMPLEMENT_CALL(jint, Poll, remove)(TCN_STDARGS, jlong pollset,
                                        jlong socket)
 {
@@ -257,7 +274,7 @@
      p->sp_poll++;
 #endif
 
-    if (timeout > 0) {
+    if (ptime > 0 && p->max_ttl >= 0) {
         apr_time_t now = apr_time_now();
 
         /* Find the minimum timeout */
@@ -272,6 +289,8 @@
             }
         }
     }
+    else if (ptime < 0)
+        ptime = 0;
     for (;;) {
         rv = apr_pollset_poll(p->pollset, ptime, &num, &fd);
         if (rv != APR_SUCCESS) {
@@ -343,6 +362,19 @@
             }
         }
     }
+    else if (p->max_ttl == 0) {
+        for (i = 0; i < p->nelts; i++) {
+            fd = p->socket_set[i];
+            p->set[num++] = P2J(fd.client_data);
+        }
+        if (remove) {
+            remove_all(p);
+#ifdef TCN_DO_STATISTICS
+            p->sp_maintained += num;
+            p->sp_max_maintained = TCN_MAX(p->sp_max_maintained, num);
+#endif
+        }
+    }
     if (num)
         (*e)->SetLongArrayRegion(e, set, 0, num, p->set);
     return (jint)num;

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/pool.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/pool.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/pool.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 439960 $, $Date: 2006-09-04 02:15:58 -0500 (Mon, 04 Sep 2006) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/proc.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/proc.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/proc.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 439960 $, $Date: 2006-09-04 02:15:58 -0500 (Mon, 04 Sep 2006) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
  
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/shm.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/shm.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/shm.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
  
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/ssl.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/ssl.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/ssl.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 439960 $, $Date: 2006-09-04 02:15:58 -0500 (Mon, 04 Sep 2006) $
+ * @version $Revision: 479965 $, $Date: 2006-11-28 02:47:42 -0700 (Tue, 28 Nov 2006) $
  */
 
 #include "tcn.h"
@@ -368,6 +369,7 @@
     UNREFERENCED(o);
     if (!tcn_global_pool) {
         TCN_FREE_CSTRING(engine);
+        tcn_ThrowAPRException(e, APR_EINVAL);
         return (jint)APR_EINVAL;
     }
     /* Check if already initialized */
@@ -377,6 +379,8 @@
     }
     if (SSLeay() < 0x0090700L) {
         TCN_FREE_CSTRING(engine);
+        tcn_ThrowAPRException(e, APR_EINVAL);
+        ssl_initialized = 0;
         return (jint)APR_EINVAL;
     }
     /* We must register the library in full, to ensure our configuration
@@ -417,6 +421,7 @@
         if (err != APR_SUCCESS) {
             TCN_FREE_CSTRING(engine);
             ssl_init_cleanup(NULL);
+            tcn_ThrowAPRException(e, err);
             return (jint)err;
         }
         tcn_ssl_engine = ee;
@@ -436,6 +441,7 @@
     if (r) {
         TCN_FREE_CSTRING(engine);
         ssl_init_cleanup(NULL);
+        tcn_ThrowAPRException(e, APR_ENOTIMPL);
         return APR_ENOTIMPL;
     }
     /*
@@ -801,9 +807,102 @@
 }
 
 #else
-/* OpenSSL is not supported
- * If someday we make OpenSSL optional
- * APR_ENOTIMPL will go here
+/* OpenSSL is not supported.
+ * Create empty stubs.
  */
-#error "No OpenSSL Toolkit defined."
+
+TCN_IMPLEMENT_CALL(jint, SSL, version)(TCN_STDARGS)
+{
+    UNREFERENCED_STDARGS;
+    return 0;
+}
+
+TCN_IMPLEMENT_CALL(jstring, SSL, versionString)(TCN_STDARGS)
+{
+    UNREFERENCED_STDARGS;
+    return NULL;
+}
+
+TCN_IMPLEMENT_CALL(jint, SSL, initialize)(TCN_STDARGS, jstring engine)
+{
+    UNREFERENCED(o);
+    UNREFERENCED(engine);
+    tcn_ThrowAPRException(e, APR_ENOTIMPL);
+    return (jint)APR_ENOTIMPL;
+}
+
+TCN_IMPLEMENT_CALL(jboolean, SSL, randLoad)(TCN_STDARGS, jstring file)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(file);
+    return JNI_FALSE;
+}
+
+TCN_IMPLEMENT_CALL(jboolean, SSL, randSave)(TCN_STDARGS, jstring file)
+{
+    UNREFERENCED_STDARGS;
+    return JNI_FALSE;
+}
+
+TCN_IMPLEMENT_CALL(jboolean, SSL, randMake)(TCN_STDARGS, jstring file,
+                                            jint length, jboolean base64)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(file);
+    UNREFERENCED(length);
+    UNREFERENCED(base64);
+    return JNI_FALSE;
+}
+
+TCN_IMPLEMENT_CALL(jlong, SSL, newBIO)(TCN_STDARGS, jlong pool,
+                                       jobject callback)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(pool);
+    UNREFERENCED(callback);
+    return 0;
+}
+
+TCN_IMPLEMENT_CALL(jint, SSL, closeBIO)(TCN_STDARGS, jlong bio)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(bio);
+    return (jint)APR_ENOTIMPL;
+}
+
+TCN_IMPLEMENT_CALL(void, SSL, setPasswordCallback)(TCN_STDARGS,
+                                                   jobject callback)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(callback);
+}
+
+TCN_IMPLEMENT_CALL(void, SSL, setPassword)(TCN_STDARGS, jstring password)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(password);
+}
+
+TCN_IMPLEMENT_CALL(jboolean, SSL, generateRSATempKey)(TCN_STDARGS, jint idx)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(idx);
+    return JNI_FALSE;
+}
+
+TCN_IMPLEMENT_CALL(jboolean, SSL, loadDSATempKey)(TCN_STDARGS, jint idx,
+                                                  jstring file)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(idx);
+    UNREFERENCED(file);
+    return JNI_FALSE;
+}
+
+TCN_IMPLEMENT_CALL(jstring, SSL, getLastError)(TCN_STDARGS)
+{
+    UNREFERENCED_STDARGS;
+    return NULL;
+}
+
 #endif

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslcontext.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslcontext.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslcontext.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /** SSL Context wrapper
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 479112 $, $Date: 2006-11-25 03:22:33 -0700 (Sat, 25 Nov 2006) $
  */
 
 #include "tcn.h"
@@ -563,9 +564,138 @@
 }
 
 #else
-/* OpenSSL is not supported
- * If someday we make OpenSSL optional
- * APR_ENOTIMPL will go here
+/* OpenSSL is not supported.
+ * Create empty stubs.
  */
-#error "No OpenSSL Toolkit defined."
+
+TCN_IMPLEMENT_CALL(jlong, SSLContext, make)(TCN_STDARGS, jlong pool,
+                                            jint protocol, jint mode)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(pool);
+    UNREFERENCED(protocol);
+    UNREFERENCED(mode);
+    return 0;
+}
+
+TCN_IMPLEMENT_CALL(jint, SSLContext, free)(TCN_STDARGS, jlong ctx)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(ctx);
+}
+
+TCN_IMPLEMENT_CALL(void, SSLContext, setContextId)(TCN_STDARGS, jlong ctx,
+                                                   jstring id)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(ctx);
+    UNREFERENCED(id);
+}
+
+TCN_IMPLEMENT_CALL(void, SSLContext, setBIO)(TCN_STDARGS, jlong ctx,
+                                             jlong bio, jint dir)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(ctx);
+    UNREFERENCED(bio);
+    UNREFERENCED(dir);
+}
+
+TCN_IMPLEMENT_CALL(void, SSLContext, setOptions)(TCN_STDARGS, jlong ctx,
+                                                 jint opt)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(ctx);
+    UNREFERENCED(opt);
+}
+
+TCN_IMPLEMENT_CALL(void, SSLContext, setQuietShutdown)(TCN_STDARGS, jlong ctx,
+                                                       jboolean mode)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(ctx);
+    UNREFERENCED(mode);
+}
+
+TCN_IMPLEMENT_CALL(jboolean, SSLContext, setCipherSuite)(TCN_STDARGS, jlong ctx,
+                                                         jstring ciphers)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(ctx);
+    UNREFERENCED(ciphers);
+    return JNI_FALSE;
+}
+
+TCN_IMPLEMENT_CALL(jboolean, SSLContext, setCARevocation)(TCN_STDARGS, jlong ctx,
+                                                          jstring file,
+                                                          jstring path)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(ctx);
+    UNREFERENCED(file);
+    UNREFERENCED(path);
+    return JNI_FALSE;
+}
+
+TCN_IMPLEMENT_CALL(jboolean, SSLContext, setCertificateChainFile)(TCN_STDARGS, jlong ctx,
+                                                                  jstring file,
+                                                                  jboolean skipfirst)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(ctx);
+    UNREFERENCED(file);
+    UNREFERENCED(skipfirst);
+    return JNI_FALSE;
+}
+
+TCN_IMPLEMENT_CALL(jboolean, SSLContext, setCACertificate)(TCN_STDARGS,
+                                                           jlong ctx,
+                                                           jstring file,
+                                                           jstring path)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(ctx);
+    UNREFERENCED(file);
+    UNREFERENCED(path);
+    return JNI_FALSE;
+}
+
+TCN_IMPLEMENT_CALL(void, SSLContext, setShutdownType)(TCN_STDARGS, jlong ctx,
+                                                      jint type)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(ctx);
+    UNREFERENCED(type);
+}
+
+TCN_IMPLEMENT_CALL(void, SSLContext, setVerify)(TCN_STDARGS, jlong ctx,
+                                                jint level, jint depth)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(ctx);
+    UNREFERENCED(level);
+    UNREFERENCED(depth);
+}
+
+TCN_IMPLEMENT_CALL(void, SSLContext, setRandom)(TCN_STDARGS, jlong ctx,
+                                                jstring file)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(ctx);
+    UNREFERENCED(file);
+}
+
+TCN_IMPLEMENT_CALL(jboolean, SSLContext, setCertificate)(TCN_STDARGS, jlong ctx,
+                                                         jstring cert, jstring key,
+                                                         jstring password, jint idx)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(ctx);
+    UNREFERENCED(cert);
+    UNREFERENCED(key);
+    UNREFERENCED(password);
+    UNREFERENCED(idx);
+    return JNI_FALSE;
+}
+
 #endif

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslinfo.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslinfo.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslinfo.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /** SSL info wrapper
  *
  * @author Mladen Turk
- * @version $Revision: 392531 $, $Date: 2006-04-08 09:24:55 -0500 (Sat, 08 Apr 2006) $
+ * @version $Revision: 479112 $, $Date: 2006-11-25 03:22:33 -0700 (Sat, 25 Nov 2006) $
  */
 
 #include "tcn.h"
@@ -554,9 +555,35 @@
 }
 
 #else
-/* OpenSSL is not supported
- * If someday we make OpenSSL optional
- * APR_ENOTIMPL will go here
+/* OpenSSL is not supported.
+ * Create empty stubs.
  */
-#error "No OpenSSL Toolkit defined."
+
+TCN_IMPLEMENT_CALL(jobject, SSLSocket, getInfoB)(TCN_STDARGS, jlong sock,
+                                                 jint what)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(sock);
+    UNREFERENCED(what);
+    return NULL;
+}
+
+TCN_IMPLEMENT_CALL(jstring, SSLSocket, getInfoS)(TCN_STDARGS, jlong sock,
+                                                 jint what)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(sock);
+    UNREFERENCED(what);
+    return NULL;
+}
+
+TCN_IMPLEMENT_CALL(jint, SSLSocket, getInfoI)(TCN_STDARGS, jlong sock,
+                                              jint what)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(sock);
+    UNREFERENCED(what);
+    return 0;
+}
+
 #endif

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslnetwork.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslnetwork.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslnetwork.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /** SSL network wrapper
  *
  * @author Mladen Turk
- * @version $Revision: 391652 $, $Date: 2006-04-05 10:54:34 -0500 (Wed, 05 Apr 2006) $
+ * @version $Revision: 479966 $, $Date: 2006-11-28 02:48:30 -0700 (Tue, 28 Nov 2006) $
  */
 
 #include "tcn.h"
@@ -96,10 +97,15 @@
     tcn_ssl_conn_t *con = (tcn_ssl_conn_t *)data;
 
     if (con) {
+        /* Pollset was already destroyed by
+         * the pool cleanup/destroy.
+         */
+        con->pollset = NULL;
         if (con->ssl) {
-            ssl_smart_shutdown(con->ssl, con->shutdown_type);
-            SSL_free(con->ssl);
-            con->ssl = NULL;
+            SSL *ssl = con->ssl;
+            con->ssl = NULL;            
+            ssl_smart_shutdown(ssl, con->shutdown_type);
+            SSL_free(ssl);
         }
         if (con->peer) {
             X509_free(con->peer);
@@ -156,6 +162,12 @@
     return con;
 }
 
+#ifdef WIN32
+#define APR_INVALID_SOCKET  INVALID_SOCKET
+#else
+#define APR_INVALID_SOCKET  -1
+#endif
+
 static apr_status_t wait_for_io_or_timeout(tcn_ssl_conn_t *con,
                                            int for_what)
 {
@@ -163,7 +175,19 @@
     apr_pollfd_t pfd;
     int type;
     apr_status_t status;
+    apr_os_sock_t sock;
 
+    if (!con->pollset)
+        return APR_ENOPOLL;    
+    if (!con->sock)
+        return APR_ENOTSOCK;        
+    
+    /* Check if the socket was already closed
+     */    
+    apr_os_sock_get(&sock, con->sock);    
+    if (sock == APR_INVALID_SOCKET)
+        return APR_ENOTSOCK;        
+
     /* Figure out the the poll direction */
     switch (for_what) {
         case SSL_ERROR_WANT_WRITE:
@@ -240,12 +264,13 @@
     tcn_ssl_conn_t *con = (tcn_ssl_conn_t *)sock;
 
     if (con->ssl) {
+        SSL *ssl = con->ssl;
+        con->ssl = NULL;
         if (how < 1)
             how = con->shutdown_type;
-        rv = ssl_smart_shutdown(con->ssl, how);
+        rv = ssl_smart_shutdown(ssl, how);
         /* TODO: Translate OpenSSL Error codes */
-        SSL_free(con->ssl);
-        con->ssl = NULL;
+        SSL_free(ssl);
     }
     return rv;
 }
@@ -260,9 +285,10 @@
     apr_atomic_inc32(&ssl_closed);
 #endif
     if (con->ssl) {
-        rv = ssl_smart_shutdown(con->ssl, con->shutdown_type);
-        SSL_free(con->ssl);
+        SSL *ssl = con->ssl;
         con->ssl = NULL;
+        rv = ssl_smart_shutdown(ssl, con->shutdown_type);
+        SSL_free(ssl);
     }
     if (con->peer) {
         X509_free(con->peer);
@@ -275,7 +301,7 @@
 {
     tcn_socket_t *ss = J2P(sock, tcn_socket_t *);
     tcn_ssl_conn_t *con;
-    int s;
+    int s, i;
     apr_status_t rv;
     X509 *peer;
 
@@ -286,7 +312,10 @@
     con = (tcn_ssl_conn_t *)ss->opaque;
     while (!SSL_is_init_finished(con->ssl)) {
         if ((s = SSL_do_handshake(con->ssl)) <= 0) {
-            int i = SSL_get_error(con->ssl, s);
+            apr_status_t os = apr_get_netos_error();
+            if (!con->ssl)
+                return os == APR_SUCCESS ? APR_ENOTSOCK : os;
+            i = SSL_get_error(con->ssl, s);
             switch (i) {
                 case SSL_ERROR_NONE:
                     con->shutdown_type = SSL_SHUTDOWN_TYPE_STANDARD;
@@ -301,11 +330,10 @@
                 break;
                 case SSL_ERROR_SYSCALL:
                 case SSL_ERROR_SSL:
-                    s = apr_get_netos_error();
-                    if (!APR_STATUS_IS_EAGAIN(s) &&
-                        !APR_STATUS_IS_EINTR(s)) {
+                    if (!APR_STATUS_IS_EAGAIN(os) &&
+                        !APR_STATUS_IS_EINTR(os)) {
                         con->shutdown_type = SSL_SHUTDOWN_TYPE_UNCLEAN;
-                        return s;
+                        return os;
                     }
                 break;
                 default:
@@ -317,6 +345,9 @@
                 break;
             }
         }
+        if (!con->ssl)
+            return APR_ENOTSOCK;
+        
         /*
         * Check for failed client authentication
         */
@@ -343,13 +374,16 @@
 ssl_socket_recv(apr_socket_t *sock, char *buf, apr_size_t *len)
 {
     tcn_ssl_conn_t *con = (tcn_ssl_conn_t *)sock;
-    int s, wr = (int)(*len);
+    int s, i, wr = (int)(*len);
     apr_status_t rv = APR_SUCCESS;
 
     for (;;) {
         if ((s = SSL_read(con->ssl, buf, wr)) <= 0) {
             apr_status_t os = apr_get_netos_error();
-            int i = SSL_get_error(con->ssl, s);
+            if (!con->ssl)
+                return os == APR_SUCCESS ? APR_ENOTSOCK : os;
+            
+            i = SSL_get_error(con->ssl, s);
             /* Special case if the "close notify" alert send by peer */
             if (s == 0 && (con->ssl->shutdown & SSL_RECEIVED_SHUTDOWN)) {
                 *len = 0;
@@ -396,13 +430,16 @@
                 apr_size_t *len)
 {
     tcn_ssl_conn_t *con = (tcn_ssl_conn_t *)sock;
-    int s, wr = (int)(*len);
+    int s, i, wr = (int)(*len);
     apr_status_t rv = APR_SUCCESS;
 
     for (;;) {
         if ((s = SSL_write(con->ssl, buf, wr)) <= 0) {
             apr_status_t os = apr_get_netos_error();
-            int i = SSL_get_error(con->ssl, s);
+            if (!con->ssl)
+                return os == APR_SUCCESS ? APR_ENOTSOCK : os;
+            
+            i = SSL_get_error(con->ssl, s);
             switch (i) {
                 case SSL_ERROR_ZERO_RETURN:
                     *len = 0;
@@ -489,8 +526,14 @@
     TCN_ASSERT(ctx != 0);
     TCN_ASSERT(sock != 0);
 
+    if (!s->sock)
+        return APR_ENOTSOCK;
+
     if ((rv = apr_os_sock_get(&oss, s->sock)) != APR_SUCCESS)
         return rv;
+    if (oss == APR_INVALID_SOCKET)
+        return APR_ENOTSOCK;        
+        
     if ((con = ssl_create(e, c, s->pool)) == NULL)
         return APR_EGENERAL;
     con->sock = s->sock;
@@ -520,9 +563,32 @@
 }
 
 #else
-/* OpenSSL is not supported
- * If someday we make OpenSSL optional
- * APR_ENOTIMPL will go here
+/* OpenSSL is not supported.
+ * Create empty stubs.
  */
-#error "No OpenSSL Toolkit defined."
+
+TCN_IMPLEMENT_CALL(jint, SSLSocket, handshake)(TCN_STDARGS, jlong sock)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(sock);
+    return (jint)APR_ENOTIMPL;
+}
+
+TCN_IMPLEMENT_CALL(jint, SSLSocket, attach)(TCN_STDARGS, jlong ctx,
+                                            jlong sock)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(ctx);
+    UNREFERENCED(sock);
+    return (jint)APR_ENOTIMPL;
+}
+
+TCN_IMPLEMENT_CALL(jint, SSLSocket, renegotiate)(TCN_STDARGS,
+                                                 jlong sock)
+{
+    UNREFERENCED_STDARGS;
+    UNREFERENCED(sock);
+    return (jint)APR_ENOTIMPL;
+}
+
 #endif

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslutils.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslutils.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/sslutils.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /** SSL Utilities
  *
  * @author Mladen Turk
- * @version $Revision: 439960 $, $Date: 2006-09-04 02:15:58 -0500 (Mon, 04 Sep 2006) $
+ * @version $Revision: 479112 $, $Date: 2006-11-25 03:22:33 -0700 (Sat, 25 Nov 2006) $
  */
 
 #include "tcn.h"
@@ -80,8 +81,9 @@
     if (data->cb.obj) {
         JNIEnv *e;
         jobject  o;
-        jstring  prompt = AJP_TO_JSTRING(data->prompt);
+        jstring  prompt;
         tcn_get_java_env(&e);
+        prompt = AJP_TO_JSTRING(data->prompt);
         if ((o = (*e)->CallObjectMethod(e, data->cb.obj,
                             data->cb.mid[0], prompt))) {
             TCN_ALLOC_CSTRING(o);
@@ -670,10 +672,4 @@
     return ok;
 }
 
-#else
-/* OpenSSL is not supported
- * If someday we make OpenSSL optional
- * APR_ENOTIMPL will go here
- */
-#error "No OpenSSL Toolkit defined."
 #endif

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/stdlib.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/stdlib.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/stdlib.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
  
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/thread.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/thread.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/thread.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 393735 $, $Date: 2006-04-13 08:41:49 +0200 (Ä?et, 13 tra 2006) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/native/src/user.c
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/native/src/user.c	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/native/src/user.c	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-/* Copyright 2000-2005 The Apache Software Foundation
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 /*
  *
  * @author Mladen Turk
- * @version $Revision: 300969 $, $Date: 2005-07-12 09:56:11 -0500 (Tue, 12 Jul 2005) $
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
  
 #include "tcn.h"

Modified: branches/tomcat5.5/upstream/current/connectors/jni/test/org/apache/tomcat/jni/FileTestSuite.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/jni/test/org/apache/tomcat/jni/FileTestSuite.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/jni/test/org/apache/tomcat/jni/FileTestSuite.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * A basic test suite that tests File IO.
  * 
  * @author Mladen Turk
- * @version $Revision: 300109 $, $Date: 2005-01-15 05:26:49 -0600 (Sat, 15 Jan 2005) $ 
+ * @version $Revision: 466585 $, $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $ 
  * @see org.apache.tomcat.jni
  */
 public class FileTestSuite

Modified: branches/tomcat5.5/upstream/current/connectors/juli/src/java/org/apache/juli/ClassLoaderLogManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/juli/src/java/org/apache/juli/ClassLoaderLogManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/juli/src/java/org/apache/juli/ClassLoaderLogManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -334,13 +335,12 @@
         }
         ClassLoaderLogInfo info = 
             new ClassLoaderLogInfo(new LogNode(null, localRootLogger));
-        info.loggers.put("", localRootLogger);
         classLoaderLoggers.put(classLoader, info);
         
         if (is != null) {
             readConfiguration(is, classLoader);
         }
-        
+        addLogger(localRootLogger);
     }
     
     
@@ -451,7 +451,7 @@
      * @return the modified string
      */
     protected String replace(String str) {
-        String result = str.trim();
+        String result = str;
         if (result.startsWith("${")) {
             int pos = result.indexOf('}');
             if (pos != -1) {
@@ -487,6 +487,9 @@
 
         LogNode findNode(String name) {
             LogNode currentNode = this;
+            if (logger.getName().equals(name)) {
+                return this;
+            }
             while (name != null) {
                 final int dotIndex = name.indexOf('.');
                 final String nextName;

Modified: branches/tomcat5.5/upstream/current/connectors/juli/src/java/org/apache/juli/FileHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/juli/src/java/org/apache/juli/FileHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/juli/src/java/org/apache/juli/FileHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -35,7 +36,7 @@
  * named {prefix}.{date}.{suffix} in a configured directory, with an
  * optional preceding timestamp.
  *
- * @version $Revision: 300331 $ $Date: 2005-03-03 12:29:45 -0600 (Thu, 03 Mar 2005) $
+ * @version $Revision: 479159 $ $Date: 2006-11-25 11:26:58 -0700 (Sat, 25 Nov 2006) $
  */
 
 public class FileHandler
@@ -46,16 +47,16 @@
 
     
     public FileHandler() {
-        configure();
-        open();
+        this(null, null, null);
     }
     
     
     public FileHandler(String directory, String prefix, String suffix) {
-        this();
         this.directory = directory;
         this.prefix = prefix;
         this.suffix = suffix;
+        configure();
+        open();
     }
     
 
@@ -188,15 +189,17 @@
         String tsString = ts.toString().substring(0, 19);
         date = tsString.substring(0, 10);
 
-        LogManager manager = LogManager.getLogManager();
         String className = FileHandler.class.getName();
         
         ClassLoader cl = Thread.currentThread().getContextClassLoader();
         
         // Retrieve configuration of logging file name
-        directory = getProperty(className + ".directory", "logs");
-        prefix = getProperty(className + ".prefix", "juli.");
-        suffix = getProperty(className + ".suffix", ".log");
+        if (directory == null)
+            directory = getProperty(className + ".directory", "logs");
+        if (prefix == null)
+            prefix = getProperty(className + ".prefix", "juli.");
+        if (suffix == null)
+            suffix = getProperty(className + ".suffix", ".log");
 
         // Get logging level for the handler
         setLevel(Level.parse(getProperty(className + ".level", "" + Level.ALL)));

Modified: branches/tomcat5.5/upstream/current/connectors/procrun/bin/tomcat5.exe
===================================================================
(Binary files differ)

Modified: branches/tomcat5.5/upstream/current/connectors/procrun/bin/tomcat5.exe.amd64
===================================================================
(Binary files differ)

Modified: branches/tomcat5.5/upstream/current/connectors/procrun/bin/tomcat5w.exe
===================================================================
(Binary files differ)

Modified: branches/tomcat5.5/upstream/current/connectors/procrun/bin/tomcat5w.exe.amd64
===================================================================
(Binary files differ)

Modified: branches/tomcat5.5/upstream/current/connectors/util/build.xml
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/build.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -84,6 +84,7 @@
             <exclude name="**/util/net/jsse/JSSE15*" unless="jdk1.5.present" />
             <exclude name="**/util/net/jsse/JSSEKeyManager.java" unless="jdk1.4.present" />
             <exclude name="**/util/digester/*" if="skip.digester" />
+            <exclude name="**/util/net/AprEndpoint.java" unless="jdk1.4.present" />
         </javac>
 
 	<!-- Copy static resource files -->

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/IntrospectionUtils.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/IntrospectionUtils.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/IntrospectionUtils.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/Ascii.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/Ascii.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/Ascii.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/B2CConverter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/B2CConverter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/B2CConverter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -49,10 +50,10 @@
     /** Create a converter, with bytes going to a byte buffer
      */
     public B2CConverter(String encoding)
-	throws IOException
+        throws IOException
     {
-	this.encoding=encoding;
-	reset();
+        this.encoding=encoding;
+        reset();
     }
 
     
@@ -60,7 +61,7 @@
      *  The encoding remain in effect, the internal buffers remain allocated.
      */
     public  void recycle() {
-	conv.recycle();
+        conv.recycle();
     }
 
     static final int BUFFER_SIZE=8192;
@@ -69,47 +70,47 @@
     /** Convert a buffer of bytes into a chars
      */
     public  void convert( ByteChunk bb, CharChunk cb )
-	throws IOException
+        throws IOException
     {
-	// Set the ByteChunk as input to the Intermediate reader
-	iis.setByteChunk( bb );
-	convert(cb);
+        // Set the ByteChunk as input to the Intermediate reader
+        iis.setByteChunk( bb );
+        convert(cb);
     }
 
     private void convert(CharChunk cb)
-	throws IOException
+        throws IOException
     {
-	try {
-	    // read from the reader
-	    while( true ) { // conv.ready() ) {
-		int cnt=conv.read( result, 0, BUFFER_SIZE );
-		if( cnt <= 0 ) {
-		    // End of stream ! - we may be in a bad state
-		    if( debug>0)
-			log( "EOF" );
-		    //		    reset();
-		    return;
-		}
-		if( debug > 1 )
-		    log("Converted: " + new String( result, 0, cnt ));
+        try {
+            // read from the reader
+            while( true ) { // conv.ready() ) {
+                int cnt=conv.read( result, 0, BUFFER_SIZE );
+                if( cnt <= 0 ) {
+                    // End of stream ! - we may be in a bad state
+                    if( debug>0)
+                        log( "EOF" );
+                    //                    reset();
+                    return;
+                }
+                if( debug > 1 )
+                    log("Converted: " + new String( result, 0, cnt ));
 
-		// XXX go directly
-		cb.append( result, 0, cnt );
-	    }
-	} catch( IOException ex) {
-	    if( debug>0)
-		log( "Reseting the converter " + ex.toString() );
-	    reset();
-	    throw ex;
-	}
+                // XXX go directly
+                cb.append( result, 0, cnt );
+            }
+        } catch( IOException ex) {
+            if( debug>0)
+                log( "Reseting the converter " + ex.toString() );
+            reset();
+            throw ex;
+        }
     }
 
     public void reset()
-	throws IOException
+        throws IOException
     {
-	// destroy the reader/iis
-	iis=new IntermediateInputStream();
-	conv=new ReadConvertor( iis, encoding );
+        // destroy the reader/iis
+        iis=new IntermediateInputStream();
+        conv=new ReadConvertor( iis, encoding );
     }
 
     private final int debug=0;
@@ -130,45 +131,45 @@
 
 
     private  static String decodeString(ByteChunk mb, String enc)
-	throws IOException
+        throws IOException
     {
-	byte buff=mb.getBuffer();
-	int start=mb.getStart();
-	int end=mb.getEnd();
-	if( useNewString ) {
-	    if( enc==null) enc="UTF8";
-	    return new String( buff, start, end-start, enc );
-	}
-	B2CConverter b2c=null;
-	if( useSpecialDecoders &&
-	    (enc==null || "UTF8".equalsIgnoreCase(enc))) {
-	    if( utfD==null ) utfD=new UTF8Decoder();
-	    b2c=utfD;
-	}
-	if(decoders == null ) decoders=new Hashtable();
-	if( enc==null ) enc="UTF8";
-	b2c=(B2CConverter)decoders.get( enc );
-	if( b2c==null ) {
-	    if( useSpecialDecoders ) {
-		if( "UTF8".equalsIgnoreCase( enc ) ) {
-		    b2c=new UTF8Decoder();
-		}
-	    }
-	    if( b2c==null )
-		b2c=new B2CConverter( enc );
-	    decoders.put( enc, b2c );
-	}
-	if( conversionBuf==null ) conversionBuf=new CharChunk(1024);
+        byte buff=mb.getBuffer();
+        int start=mb.getStart();
+        int end=mb.getEnd();
+        if( useNewString ) {
+            if( enc==null) enc="UTF8";
+            return new String( buff, start, end-start, enc );
+        }
+        B2CConverter b2c=null;
+        if( useSpecialDecoders &&
+            (enc==null || "UTF8".equalsIgnoreCase(enc))) {
+            if( utfD==null ) utfD=new UTF8Decoder();
+            b2c=utfD;
+        }
+        if(decoders == null ) decoders=new Hashtable();
+        if( enc==null ) enc="UTF8";
+        b2c=(B2CConverter)decoders.get( enc );
+        if( b2c==null ) {
+            if( useSpecialDecoders ) {
+                if( "UTF8".equalsIgnoreCase( enc ) ) {
+                    b2c=new UTF8Decoder();
+                }
+            }
+            if( b2c==null )
+                b2c=new B2CConverter( enc );
+            decoders.put( enc, b2c );
+        }
+        if( conversionBuf==null ) conversionBuf=new CharChunk(1024);
 
-	try {
-	    conversionBuf.recycle();
-	    b2c.convert( this, conversionBuf );
-	    //System.out.println("XXX 1 " + conversionBuf );
-	    return conversionBuf.toString();
-	} catch( IOException ex ) {
-	    ex.printStackTrace();
-	    return null;
-	}
+        try {
+            conversionBuf.recycle();
+            b2c.convert( this, conversionBuf );
+            //System.out.println("XXX 1 " + conversionBuf );
+            return conversionBuf.toString();
+        } catch( IOException ex ) {
+            ex.printStackTrace();
+            return null;
+        }
     }
 
     */
@@ -182,32 +183,29 @@
  * 
  */
 final class  ReadConvertor extends InputStreamReader {
-    // stream with flush() and close(). overriden.
-    private IntermediateInputStream iis;
     
     // Has a private, internal byte[8192]
     
     /** Create a converter.
      */
     public ReadConvertor( IntermediateInputStream in, String enc )
-	throws UnsupportedEncodingException
+        throws UnsupportedEncodingException
     {
-	super( in, enc );
-	iis=in;
+        super( in, enc );
     }
     
     /** Overriden - will do nothing but reset internal state.
      */
     public  final void close() throws IOException {
-	// NOTHING
-	// Calling super.close() would reset out and cb.
+        // NOTHING
+        // Calling super.close() would reset out and cb.
     }
     
     public  final int read(char cbuf[], int off, int len)
-	throws IOException
+        throws IOException
     {
-	// will do the conversion and call write on the output stream
-	return super.read( cbuf, off, len );
+        // will do the conversion and call write on the output stream
+        return super.read( cbuf, off, len );
     }
     
     /** Reset the buffer
@@ -233,41 +231,41 @@
     }
     
     public  final void close() throws IOException {
-	// shouldn't be called - we filter it out in writer
-	throw new IOException("close() called - shouldn't happen ");
+        // shouldn't be called - we filter it out in writer
+        throw new IOException("close() called - shouldn't happen ");
     }
     
     public  final  int read(byte cbuf[], int off, int len) throws IOException {
-	if( pos >= end ) return -1;
-	if (pos + len > end) {
-	    len = end - pos;
-	}
-	if (len <= 0) {
-	    return 0;
-	}
-	System.arraycopy(buf, pos, cbuf, off, len);
-	pos += len;
-	return len;
+        if( pos >= end ) return -1;
+        if (pos + len > end) {
+            len = end - pos;
+        }
+        if (len <= 0) {
+            return 0;
+        }
+        System.arraycopy(buf, pos, cbuf, off, len);
+        pos += len;
+        return len;
     }
     
     public  final int read() throws IOException {
-	return (pos < end ) ? (buf[pos++] & 0xff) : -1;
+        return (pos < end ) ? (buf[pos++] & 0xff) : -1;
     }
 
     // -------------------- Internal methods --------------------
 
     void setBuffer( byte b[], int p, int l ) {
-	buf=b;
-	pos=p;
-	len=l;
-	end=pos+len;
+        buf=b;
+        pos=p;
+        len=l;
+        end=pos+len;
     }
 
     void setByteChunk( ByteChunk mb ) {
-	buf=mb.getBytes();
-	pos=mb.getStart();
-	len=mb.getLength();
-	end=pos+len;
+        buf=mb.getBytes();
+        pos=mb.getStart();
+        len=mb.getLength();
+        end=pos+len;
     }
 
 }

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/Base64.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/Base64.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/Base64.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  * This class is used by XML Schema binary format validation
  *
  * @author Jeffrey Rodriguez
- * @version $Revision: 299789 $ $Date: 2004-09-17 13:34:19 -0500 (Fri, 17 Sep 2004) $
+ * @version $Revision: 481614 $ $Date: 2006-12-02 13:04:21 -0700 (Sat, 02 Dec 2006) $
  */
 
 public final class Base64 {
@@ -41,7 +42,6 @@
     static private final int  TWENTYFOURBITGROUP = 24;
     static private final int  EIGHTBIT           = 8;
     static private final int  SIXTEENBIT         = 16;
-    static private final int  SIXBIT             = 6;
     static private final int  FOURBYTE           = 4;
 
 

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/ByteChunk.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/ByteChunk.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/ByteChunk.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -90,8 +91,8 @@
     // --------------------
 
     /** Default encoding used to convert to strings. It should be UTF8,
-	as most standards seem to converge, but the servlet API requires
-	8859_1, and this object is used mostly for servlets. 
+        as most standards seem to converge, but the servlet API requires
+        8859_1, and this object is used mostly for servlets. 
     */
     public static final String DEFAULT_CHARACTER_ENCODING="ISO-8859-1";
         
@@ -111,7 +112,6 @@
     private ByteInputChannel in = null;
     private ByteOutputChannel out = null;
 
-    private boolean isOutput=false;
     private boolean optimizedWrite=true;
     
     /**
@@ -121,48 +121,47 @@
     }
 
     public ByteChunk( int initial ) {
-	allocate( initial, -1 );
+        allocate( initial, -1 );
     }
 
     //--------------------
     public ByteChunk getClone() {
-	try {
-	    return (ByteChunk)this.clone();
-	} catch( Exception ex) {
-	    return null;
-	}
+        try {
+            return (ByteChunk)this.clone();
+        } catch( Exception ex) {
+            return null;
+        }
     }
 
     public boolean isNull() {
-	return ! isSet; // buff==null;
+        return ! isSet; // buff==null;
     }
     
     /**
      * Resets the message buff to an uninitialized state.
      */
     public void recycle() {
-	//	buff = null;
-	enc=null;
-	start=0;
-	end=0;
-	isSet=false;
+        //        buff = null;
+        enc=null;
+        start=0;
+        end=0;
+        isSet=false;
     }
 
     public void reset() {
-	buff=null;
+        buff=null;
     }
 
     // -------------------- Setup --------------------
 
     public void allocate( int initial, int limit  ) {
-	isOutput=true;
-	if( buff==null || buff.length < initial ) {
-	    buff=new byte[initial];
-	}    
-	this.limit=limit;
-	start=0;
-	end=0;
-	isSet=true;
+        if( buff==null || buff.length < initial ) {
+            buff=new byte[initial];
+        }    
+        this.limit=limit;
+        start=0;
+        end=0;
+        isSet=true;
     }
 
     /**
@@ -184,7 +183,7 @@
     }
 
     public void setEncoding( String enc ) {
-	this.enc=enc;
+        this.enc=enc;
     }
     public String getEncoding() {
         if (enc == null)
@@ -196,14 +195,14 @@
      * Returns the message bytes.
      */
     public byte[] getBytes() {
-	return getBuffer();
+        return getBuffer();
     }
 
     /**
      * Returns the message bytes.
      */
     public byte[] getBuffer() {
-	return buff;
+        return buff;
     }
 
     /**
@@ -211,16 +210,16 @@
      * For output this is the end of the buffer.
      */
     public int getStart() {
-	return start;
+        return start;
     }
 
     public int getOffset() {
-	return start;
+        return start;
     }
 
     public void setOffset(int off) {
         if (end < off ) end=off;
-	start=off;
+        start=off;
     }
 
     /**
@@ -228,7 +227,7 @@
      * XXX need to clean this up
      */
     public int getLength() {
-	return end-start;
+        return end-start;
     }
 
     /** Maximum amount of data in this buffer.
@@ -239,11 +238,11 @@
      *  or throw exception.
      */
     public void setLimit(int limit) {
-	this.limit=limit;
+        this.limit=limit;
     }
     
     public int getLimit() {
-	return limit;
+        return limit;
     }
 
     /**
@@ -254,20 +253,20 @@
     }
 
     /** When the buffer is full, write the data to the output channel.
-     * 	Also used when large amount of data is appended.
+     *         Also used when large amount of data is appended.
      *
      *  If not set, the buffer will grow to the limit.
      */
     public void setByteOutputChannel(ByteOutputChannel out) {
-	this.out=out;
+        this.out=out;
     }
 
     public int getEnd() {
-	return end;
+        return end;
     }
 
     public void setEnd( int i ) {
-	end=i;
+        end=i;
     }
 
     // -------------------- Adding data to the buffer --------------------
@@ -277,44 +276,44 @@
      * @throws IOException
      */
     public void append( char c )
-	throws IOException
+        throws IOException
     {
-	append( (byte)c);
+        append( (byte)c);
     }
 
     public void append( byte b )
-	throws IOException
+        throws IOException
     {
-	makeSpace( 1 );
+        makeSpace( 1 );
 
-	// couldn't make space
-	if( limit >0 && end >= limit ) {
-	    flushBuffer();
-	}
-	buff[end++]=b;
+        // couldn't make space
+        if( limit >0 && end >= limit ) {
+            flushBuffer();
+        }
+        buff[end++]=b;
     }
 
     public void append( ByteChunk src )
-	throws IOException
+        throws IOException
     {
-	append( src.getBytes(), src.getStart(), src.getLength());
+        append( src.getBytes(), src.getStart(), src.getLength());
     }
 
     /** Add data to the buffer
      */
     public void append( byte src[], int off, int len )
-	throws IOException
+        throws IOException
     {
-	// will grow, up to limit
-	makeSpace( len );
+        // will grow, up to limit
+        makeSpace( len );
 
-	// if we don't have limit: makeSpace can grow as it wants
-	if( limit < 0 ) {
-	    // assert: makeSpace made enough space
-	    System.arraycopy( src, off, buff, end, len );
-	    end+=len;
-	    return;
-	}
+        // if we don't have limit: makeSpace can grow as it wants
+        if( limit < 0 ) {
+            // assert: makeSpace made enough space
+            System.arraycopy( src, off, buff, end, len );
+            end+=len;
+            return;
+        }
 
         // Optimize on a common case.
         // If the buffer is empty and the source is going to fill up all the
@@ -324,19 +323,19 @@
             out.realWriteBytes( src, off, len );
             return;
         }
-	// if we have limit and we're below
-	if( len <= limit - end ) {
-	    // makeSpace will grow the buffer to the limit,
-	    // so we have space
-	    System.arraycopy( src, off, buff, end, len );
-	    end+=len;
-	    return;
-	}
+        // if we have limit and we're below
+        if( len <= limit - end ) {
+            // makeSpace will grow the buffer to the limit,
+            // so we have space
+            System.arraycopy( src, off, buff, end, len );
+            end+=len;
+            return;
+        }
 
-	// need more space than we can afford, need to flush
-	// buffer
+        // need more space than we can afford, need to flush
+        // buffer
 
-	// the buffer is already at ( or bigger than ) limit
+        // the buffer is already at ( or bigger than ) limit
 
         // We chunk the data into slices fitting in the buffer limit, although
         // if the data is written directly if it doesn't fit
@@ -423,61 +422,61 @@
      * @throws IOException
      */
     public void flushBuffer()
-	throws IOException
+        throws IOException
     {
-	//assert out!=null
-	if( out==null ) {
-	    throw new IOException( "Buffer overflow, no sink " + limit + " " +
-				   buff.length  );
-	}
-	out.realWriteBytes( buff, start, end-start );
-	end=start;
+        //assert out!=null
+        if( out==null ) {
+            throw new IOException( "Buffer overflow, no sink " + limit + " " +
+                                   buff.length  );
+        }
+        out.realWriteBytes( buff, start, end-start );
+        end=start;
     }
 
     /** Make space for len chars. If len is small, allocate
-     *	a reserve space too. Never grow bigger than limit.
+     *        a reserve space too. Never grow bigger than limit.
      */
     private void makeSpace(int count)
     {
-	byte[] tmp = null;
+        byte[] tmp = null;
 
-	int newSize;
-	int desiredSize=end + count;
+        int newSize;
+        int desiredSize=end + count;
 
-	// Can't grow above the limit
-	if( limit > 0 &&
-	    desiredSize > limit) {
-	    desiredSize=limit;
-	}
+        // Can't grow above the limit
+        if( limit > 0 &&
+            desiredSize > limit) {
+            desiredSize=limit;
+        }
 
-	if( buff==null ) {
-	    if( desiredSize < 256 ) desiredSize=256; // take a minimum
-	    buff=new byte[desiredSize];
-	}
-	
-	// limit < buf.length ( the buffer is already big )
-	// or we already have space XXX
-	if( desiredSize <= buff.length ) {
-	    return;
-	}
-	// grow in larger chunks
-	if( desiredSize < 2 * buff.length ) {
-	    newSize= buff.length * 2;
-	    if( limit >0 &&
-		newSize > limit ) newSize=limit;
-	    tmp=new byte[newSize];
-	} else {
-	    newSize= buff.length * 2 + count ;
-	    if( limit > 0 &&
-		newSize > limit ) newSize=limit;
-	    tmp=new byte[newSize];
-	}
-	
-	System.arraycopy(buff, start, tmp, 0, end-start);
-	buff = tmp;
-	tmp = null;
-	end=end-start;
-	start=0;
+        if( buff==null ) {
+            if( desiredSize < 256 ) desiredSize=256; // take a minimum
+            buff=new byte[desiredSize];
+        }
+        
+        // limit < buf.length ( the buffer is already big )
+        // or we already have space XXX
+        if( desiredSize <= buff.length ) {
+            return;
+        }
+        // grow in larger chunks
+        if( desiredSize < 2 * buff.length ) {
+            newSize= buff.length * 2;
+            if( limit >0 &&
+                newSize > limit ) newSize=limit;
+            tmp=new byte[newSize];
+        } else {
+            newSize= buff.length * 2 + count ;
+            if( limit > 0 &&
+                newSize > limit ) newSize=limit;
+            tmp=new byte[newSize];
+        }
+        
+        System.arraycopy(buff, start, tmp, 0, end-start);
+        buff = tmp;
+        tmp = null;
+        end=end-start;
+        start=0;
     }
     
     // -------------------- Conversion and getters --------------------
@@ -518,7 +517,7 @@
 
     public int getInt()
     {
-	return Ascii.parseInt(buff, start,end-start);
+        return Ascii.parseInt(buff, start,end-start);
     }
 
     public long getLong() {
@@ -534,21 +533,21 @@
      * @return true if the comparison succeeded, false otherwise
      */
     public boolean equals(String s) {
-	// XXX ENCODING - this only works if encoding is UTF8-compat
-	// ( ok for tomcat, where we compare ascii - header names, etc )!!!
-	
-	byte[] b = buff;
-	int blen = end-start;
-	if (b == null || blen != s.length()) {
-	    return false;
-	}
-	int boff = start;
-	for (int i = 0; i < blen; i++) {
-	    if (b[boff++] != s.charAt(i)) {
-		return false;
-	    }
-	}
-	return true;
+        // XXX ENCODING - this only works if encoding is UTF8-compat
+        // ( ok for tomcat, where we compare ascii - header names, etc )!!!
+        
+        byte[] b = buff;
+        int blen = end-start;
+        if (b == null || blen != s.length()) {
+            return false;
+        }
+        int boff = start;
+        for (int i = 0; i < blen; i++) {
+            if (b[boff++] != s.charAt(i)) {
+                return false;
+            }
+        }
+        return true;
     }
 
     /**
@@ -557,63 +556,63 @@
      * @return true if the comparison succeeded, false otherwise
      */
     public boolean equalsIgnoreCase(String s) {
-	byte[] b = buff;
-	int blen = end-start;
-	if (b == null || blen != s.length()) {
-	    return false;
-	}
-	int boff = start;
-	for (int i = 0; i < blen; i++) {
-	    if (Ascii.toLower(b[boff++]) != Ascii.toLower(s.charAt(i))) {
-		return false;
-	    }
-	}
-	return true;
+        byte[] b = buff;
+        int blen = end-start;
+        if (b == null || blen != s.length()) {
+            return false;
+        }
+        int boff = start;
+        for (int i = 0; i < blen; i++) {
+            if (Ascii.toLower(b[boff++]) != Ascii.toLower(s.charAt(i))) {
+                return false;
+            }
+        }
+        return true;
     }
 
     public boolean equals( ByteChunk bb ) {
-	return equals( bb.getBytes(), bb.getStart(), bb.getLength());
+        return equals( bb.getBytes(), bb.getStart(), bb.getLength());
     }
     
     public boolean equals( byte b2[], int off2, int len2) {
-	byte b1[]=buff;
-	if( b1==null && b2==null ) return true;
+        byte b1[]=buff;
+        if( b1==null && b2==null ) return true;
 
-	int len=end-start;
-	if ( len2 != len || b1==null || b2==null ) 
-	    return false;
-		
-	int off1 = start;
+        int len=end-start;
+        if ( len2 != len || b1==null || b2==null ) 
+            return false;
+                
+        int off1 = start;
 
-	while ( len-- > 0) {
-	    if (b1[off1++] != b2[off2++]) {
-		return false;
-	    }
-	}
-	return true;
+        while ( len-- > 0) {
+            if (b1[off1++] != b2[off2++]) {
+                return false;
+            }
+        }
+        return true;
     }
 
     public boolean equals( CharChunk cc ) {
-	return equals( cc.getChars(), cc.getStart(), cc.getLength());
+        return equals( cc.getChars(), cc.getStart(), cc.getLength());
     }
     
     public boolean equals( char c2[], int off2, int len2) {
-	// XXX works only for enc compatible with ASCII/UTF !!!
-	byte b1[]=buff;
-	if( c2==null && b1==null ) return true;
-	
-	if (b1== null || c2==null || end-start != len2 ) {
-	    return false;
-	}
-	int off1 = start;
-	int len=end-start;
-	
-	while ( len-- > 0) {
-	    if ( (char)b1[off1++] != c2[off2++]) {
-		return false;
-	    }
-	}
-	return true;
+        // XXX works only for enc compatible with ASCII/UTF !!!
+        byte b1[]=buff;
+        if( c2==null && b1==null ) return true;
+        
+        if (b1== null || c2==null || end-start != len2 ) {
+            return false;
+        }
+        int off1 = start;
+        int len=end-start;
+        
+        while ( len-- > 0) {
+            if ( (char)b1[off1++] != c2[off2++]) {
+                return false;
+            }
+        }
+        return true;
     }
 
     /**
@@ -621,19 +620,19 @@
      * @param s the string
      */
     public boolean startsWith(String s) {
-	// Works only if enc==UTF
-	byte[] b = buff;
-	int blen = s.length();
-	if (b == null || blen > end-start) {
-	    return false;
-	}
-	int boff = start;
-	for (int i = 0; i < blen; i++) {
-	    if (b[boff++] != s.charAt(i)) {
-		return false;
-	    }
-	}
-	return true;
+        // Works only if enc==UTF
+        byte[] b = buff;
+        int blen = s.length();
+        if (b == null || blen > end-start) {
+            return false;
+        }
+        int boff = start;
+        for (int i = 0; i < blen; i++) {
+            if (b[boff++] != s.charAt(i)) {
+                return false;
+            }
+        }
+        return true;
     }
 
     /* Returns true if the message bytes start with the specified byte array */
@@ -660,71 +659,71 @@
      * @param pos The position
      */
     public boolean startsWithIgnoreCase(String s, int pos) {
-	byte[] b = buff;
-	int len = s.length();
-	if (b == null || len+pos > end-start) {
-	    return false;
-	}
-	int off = start+pos;
-	for (int i = 0; i < len; i++) {
-	    if (Ascii.toLower( b[off++] ) != Ascii.toLower( s.charAt(i))) {
-		return false;
-	    }
-	}
-	return true;
+        byte[] b = buff;
+        int len = s.length();
+        if (b == null || len+pos > end-start) {
+            return false;
+        }
+        int off = start+pos;
+        for (int i = 0; i < len; i++) {
+            if (Ascii.toLower( b[off++] ) != Ascii.toLower( s.charAt(i))) {
+                return false;
+            }
+        }
+        return true;
     }
 
     public int indexOf( String src, int srcOff, int srcLen, int myOff ) {
-	char first=src.charAt( srcOff );
+        char first=src.charAt( srcOff );
 
-	// Look for first char 
-	int srcEnd = srcOff + srcLen;
+        // Look for first char 
+        int srcEnd = srcOff + srcLen;
         
-	for( int i=myOff+start; i <= (end - srcLen); i++ ) {
-	    if( buff[i] != first ) continue;
-	    // found first char, now look for a match
+        for( int i=myOff+start; i <= (end - srcLen); i++ ) {
+            if( buff[i] != first ) continue;
+            // found first char, now look for a match
             int myPos=i+1;
-	    for( int srcPos=srcOff + 1; srcPos< srcEnd; ) {
+            for( int srcPos=srcOff + 1; srcPos< srcEnd; ) {
                 if( buff[myPos++] != src.charAt( srcPos++ ))
-		    break;
+                    break;
                 if( srcPos==srcEnd ) return i-start; // found it
-	    }
-	}
-	return -1;
+            }
+        }
+        return -1;
     }
 
     // -------------------- Hash code  --------------------
 
     // normal hash. 
     public int hash() {
-	return hashBytes( buff, start, end-start);
+        return hashBytes( buff, start, end-start);
     }
 
     // hash ignoring case
     public int hashIgnoreCase() {
-	return hashBytesIC( buff, start, end-start );
+        return hashBytesIC( buff, start, end-start );
     }
 
     private static int hashBytes( byte buff[], int start, int bytesLen ) {
-	int max=start+bytesLen;
-	byte bb[]=buff;
-	int code=0;
-	for (int i = start; i < max ; i++) {
-	    code = code * 37 + bb[i];
-	}
-	return code;
+        int max=start+bytesLen;
+        byte bb[]=buff;
+        int code=0;
+        for (int i = start; i < max ; i++) {
+            code = code * 37 + bb[i];
+        }
+        return code;
     }
 
     private static int hashBytesIC( byte bytes[], int start,
-				    int bytesLen )
+                                    int bytesLen )
     {
-	int max=start+bytesLen;
-	byte bb[]=bytes;
-	int code=0;
-	for (int i = start; i < max ; i++) {
-	    code = code * 37 + Ascii.toLower(bb[i]);
-	}
-	return code;
+        int max=start+bytesLen;
+        byte bb[]=bytes;
+        int code=0;
+        for (int i = start; i < max ; i++) {
+            code = code * 37 + Ascii.toLower(bb[i]);
+        }
+        return code;
     }
 
     /**
@@ -733,51 +732,51 @@
      * @param starting The start position
      */
     public int indexOf(char c, int starting) {
-	int ret = indexOf( buff, start+starting, end, c);
-	return (ret >= start) ? ret - start : -1;
+        int ret = indexOf( buff, start+starting, end, c);
+        return (ret >= start) ? ret - start : -1;
     }
 
     public static int  indexOf( byte bytes[], int off, int end, char qq )
     {
-	// Works only for UTF 
-	while( off < end ) {
-	    byte b=bytes[off];
-	    if( b==qq )
-		return off;
-	    off++;
-	}
-	return -1;
+        // Works only for UTF 
+        while( off < end ) {
+            byte b=bytes[off];
+            if( b==qq )
+                return off;
+            off++;
+        }
+        return -1;
     }
 
     /** Find a character, no side effects.
      *  @return index of char if found, -1 if not
      */
     public static int findChar( byte buf[], int start, int end, char c ) {
-	byte b=(byte)c;
-	int offset = start;
-	while (offset < end) {
-	    if (buf[offset] == b) {
-		return offset;
-	    }
-	    offset++;
-	}
-	return -1;
+        byte b=(byte)c;
+        int offset = start;
+        while (offset < end) {
+            if (buf[offset] == b) {
+                return offset;
+            }
+            offset++;
+        }
+        return -1;
     }
 
     /** Find a character, no side effects.
      *  @return index of char if found, -1 if not
      */
     public static int findChars( byte buf[], int start, int end, byte c[] ) {
-	int clen=c.length;
-	int offset = start;
-	while (offset < end) {
-	    for( int i=0; i<clen; i++ ) 
-		if (buf[offset] == c[i]) {
-		    return offset;
-		}
-	    offset++;
-	}
-	return -1;
+        int clen=c.length;
+        int offset = start;
+        while (offset < end) {
+            for( int i=0; i<clen; i++ ) 
+                if (buf[offset] == c[i]) {
+                    return offset;
+                }
+            offset++;
+        }
+        return -1;
     }
 
     /** Find the first character != c 
@@ -785,29 +784,30 @@
      */
     public static int findNotChars( byte buf[], int start, int end, byte c[] )
     {
-	int clen=c.length;
-	int offset = start;
-	boolean found;
-		
-	while (offset < end) {
-	    found=true;
-	    for( int i=0; i<clen; i++ ) {
-		if (buf[offset] == c[i]) {
-		    found=false;
-		    break;
-		}
-	    }
-	    if( found ) { // buf[offset] != c[0..len]
-		return offset;
-	    }
-	    offset++;
-	}
-	return -1;
+        int clen=c.length;
+        int offset = start;
+        boolean found;
+                
+        while (offset < end) {
+            found=true;
+            for( int i=0; i<clen; i++ ) {
+                if (buf[offset] == c[i]) {
+                    found=false;
+                    break;
+                }
+            }
+            if( found ) { // buf[offset] != c[0..len]
+                return offset;
+            }
+            offset++;
+        }
+        return -1;
     }
 
 
     /**
-     * Convert specified String to a byte array. This ONLY WORKS for ascii, UTF chars will be truncated.
+     * Convert specified String to a byte array. This ONLY WORKS for ascii, UTF
+     * chars will be truncated.
      * 
      * @param value to convert to byte array
      * @return the byte array value

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/C2BConverter.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/C2BConverter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/C2BConverter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/CharChunk.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/CharChunk.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/CharChunk.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
  *  Copyright 1999-2004 The Apache Software Foundation
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -47,9 +48,9 @@
      *  grow the buffer ( up to the limit ) or send it to a channel.
      */
     public static interface CharOutputChannel {
-	/** Send the bytes ( usually the internal conversion buffer ).
-	 *  Expect 8k output if the buffer is full.
-	 */
+        /** Send the bytes ( usually the internal conversion buffer ).
+         *  Expect 8k output if the buffer is full.
+         */
         public void realWriteChars(char cbuf[], int off, int len)
             throws IOException;
     }
@@ -63,8 +64,6 @@
 
     private boolean isSet=false;  // XXX 
 
-    private boolean isOutput=false;
-
     // -1: grow undefinitely
     // maximum amount to be cached
     private int limit=-1;
@@ -81,50 +80,48 @@
     }
 
     public CharChunk(int size) {
-	allocate( size, -1 );
+        allocate( size, -1 );
     }
 
     // --------------------
     
     public CharChunk getClone() {
-	try {
-	    return (CharChunk)this.clone();
-	} catch( Exception ex) {
-	    return null;
-	}
+        try {
+            return (CharChunk)this.clone();
+        } catch( Exception ex) {
+            return null;
+        }
     }
 
     public boolean isNull() {
-	if( end > 0 ) return false;
-	return !isSet; //XXX 
+        if( end > 0 ) return false;
+        return !isSet; //XXX 
     }
     
     /**
      * Resets the message bytes to an uninitialized state.
      */
     public void recycle() {
-	//	buff=null;
-	isSet=false; // XXX
-	start=0;
-	end=0;
+        //        buff=null;
+        isSet=false; // XXX
+        start=0;
+        end=0;
     }
 
     public void reset() {
-	buff=null;
+        buff=null;
     }
 
     // -------------------- Setup --------------------
 
     public void allocate( int initial, int limit  ) {
-	isOutput=true;
-	if( buff==null || buff.length < initial ) {
-	    buff=new char[initial];
-	}
-	this.limit=limit;
-	start=0;
-	end=0;
-	isOutput=true;
-	isSet=true;
+        if( buff==null || buff.length < initial ) {
+            buff=new char[initial];
+        }
+        this.limit=limit;
+        start=0;
+        end=0;
+        isSet=true;
     }
 
 
@@ -147,11 +144,11 @@
      *  or throw exception.
      */
     public void setLimit(int limit) {
-	this.limit=limit;
+        this.limit=limit;
     }
     
     public int getLimit() {
-	return limit;
+        return limit;
     }
 
     /**
@@ -162,23 +159,23 @@
     }
 
     /** When the buffer is full, write the data to the output channel.
-     * 	Also used when large amount of data is appended.
+     *         Also used when large amount of data is appended.
      *
      *  If not set, the buffer will grow to the limit.
      */
     public void setCharOutputChannel(CharOutputChannel out) {
-	this.out=out;
+        this.out=out;
     }
 
     // compat 
     public char[] getChars()
     {
-	return getBuffer();
+        return getBuffer();
     }
     
     public char[] getBuffer()
     {
-	return buff;
+        return buff;
     }
     
     /**
@@ -186,71 +183,71 @@
      * For output this is the end of the buffer.
      */
     public int getStart() {
-	return start;
+        return start;
     }
     
     public int getOffset() {
-	return start;
+        return start;
     }
 
     /**
      * Returns the start offset of the bytes.
      */
     public void setOffset(int off) {
-	start=off;
+        start=off;
     }
 
     /**
      * Returns the length of the bytes.
      */
     public int getLength() {
-	return end-start;
+        return end-start;
     }
 
 
     public int getEnd() {
-	return end;
+        return end;
     }
 
     public void setEnd( int i ) {
-	end=i;
+        end=i;
     }
 
     // -------------------- Adding data --------------------
     
     public void append( char b )
-	throws IOException
+        throws IOException
     {
-	makeSpace( 1 );
+        makeSpace( 1 );
 
-	// couldn't make space
-	if( limit >0 && end >= limit ) {
-	    flushBuffer();
-	}
-	buff[end++]=b;
+        // couldn't make space
+        if( limit >0 && end >= limit ) {
+            flushBuffer();
+        }
+        buff[end++]=b;
     }
     
     public void append( CharChunk src )
-	throws IOException
+        throws IOException
     {
-	append( src.getBuffer(), src.getOffset(), src.getLength());
+        append( src.getBuffer(), src.getOffset(), src.getLength());
     }
 
     /** Add data to the buffer
      */
     public void append( char src[], int off, int len )
-	throws IOException
+        throws IOException
     {
-	// will grow, up to limit
-	makeSpace( len );
+        // will grow, up to limit
+        makeSpace( len );
 
-	// if we don't have limit: makeSpace can grow as it wants
-	if( limit < 0 ) {
-	    // assert: makeSpace made enough space
-	    System.arraycopy( src, off, buff, end, len );
-	    end+=len;
-	    return;
-	}
+        // if we don't have limit: makeSpace can grow as it wants
+        if( limit < 0 ) {
+            // assert: makeSpace made enough space
+            System.arraycopy( src, off, buff, end, len );
+            end+=len;
+            return;
+        }
 
         // Optimize on a common case.
         // If the source is going to fill up all the space in buffer, may
@@ -259,82 +256,82 @@
             out.realWriteChars( src, off, len );
             return;
         }
-	
-	// if we have limit and we're below
-	if( len <= limit - end ) {
-	    // makeSpace will grow the buffer to the limit,
-	    // so we have space
-	    System.arraycopy( src, off, buff, end, len );
+        
+        // if we have limit and we're below
+        if( len <= limit - end ) {
+            // makeSpace will grow the buffer to the limit,
+            // so we have space
+            System.arraycopy( src, off, buff, end, len );
             
-	    end+=len;
-	    return;
-	}
+            end+=len;
+            return;
+        }
 
-	// need more space than we can afford, need to flush
-	// buffer
+        // need more space than we can afford, need to flush
+        // buffer
 
-	// the buffer is already at ( or bigger than ) limit
-	
-	// Optimization:
-	// If len-avail < length ( i.e. after we fill the buffer with
-	// what we can, the remaining will fit in the buffer ) we'll just
-	// copy the first part, flush, then copy the second part - 1 write
-	// and still have some space for more. We'll still have 2 writes, but
-	// we write more on the first.
+        // the buffer is already at ( or bigger than ) limit
+        
+        // Optimization:
+        // If len-avail < length ( i.e. after we fill the buffer with
+        // what we can, the remaining will fit in the buffer ) we'll just
+        // copy the first part, flush, then copy the second part - 1 write
+        // and still have some space for more. We'll still have 2 writes, but
+        // we write more on the first.
 
-	if( len + end < 2 * limit ) {
-	    /* If the request length exceeds the size of the output buffer,
-	       flush the output buffer and then write the data directly.
-	       We can't avoid 2 writes, but we can write more on the second
-	    */
-	    int avail=limit-end;
-	    System.arraycopy(src, off, buff, end, avail);
-	    end += avail;
-	    
-	    flushBuffer();
-	    
-	    System.arraycopy(src, off+avail, buff, end, len - avail);
-	    end+= len - avail;
-	    
-	} else {	// len > buf.length + avail
-	    // long write - flush the buffer and write the rest
-	    // directly from source
-	    flushBuffer();
-	    
-	    out.realWriteChars( src, off, len );
-	}
+        if( len + end < 2 * limit ) {
+            /* If the request length exceeds the size of the output buffer,
+               flush the output buffer and then write the data directly.
+               We can't avoid 2 writes, but we can write more on the second
+            */
+            int avail=limit-end;
+            System.arraycopy(src, off, buff, end, avail);
+            end += avail;
+            
+            flushBuffer();
+            
+            System.arraycopy(src, off+avail, buff, end, len - avail);
+            end+= len - avail;
+            
+        } else {        // len > buf.length + avail
+            // long write - flush the buffer and write the rest
+            // directly from source
+            flushBuffer();
+            
+            out.realWriteChars( src, off, len );
+        }
     }
 
 
     /** Add data to the buffer
      */
     public void append( StringBuffer sb )
-	throws IOException
+        throws IOException
     {
-	int len=sb.length();
+        int len=sb.length();
 
-	// will grow, up to limit
-	makeSpace( len );
+        // will grow, up to limit
+        makeSpace( len );
 
-	// if we don't have limit: makeSpace can grow as it wants
-	if( limit < 0 ) {
-	    // assert: makeSpace made enough space
-	    sb.getChars(0, len, buff, end );
-	    end+=len;
-	    return;
-	}
+        // if we don't have limit: makeSpace can grow as it wants
+        if( limit < 0 ) {
+            // assert: makeSpace made enough space
+            sb.getChars(0, len, buff, end );
+            end+=len;
+            return;
+        }
 
-	int off=0;
-	int sbOff = off;
-	int sbEnd = off + len;
-	while (sbOff < sbEnd) {
-	    int d = min(limit - end, sbEnd - sbOff);
-	    sb.getChars( sbOff, sbOff+d, buff, end);
-	    sbOff += d;
-	    end += d;
-	    if (end >= limit)
-		flushBuffer();
-	}
+        int off=0;
+        int sbOff = off;
+        int sbEnd = off + len;
+        while (sbOff < sbEnd) {
+            int d = min(limit - end, sbEnd - sbOff);
+            sb.getChars( sbOff, sbOff+d, buff, end);
+            sbOff += d;
+            end += d;
+            if (end >= limit)
+                flushBuffer();
+        }
     }
 
     /** Append a string to the buffer
@@ -346,29 +343,29 @@
     /** Append a string to the buffer
      */
     public void append(String s, int off, int len) throws IOException {
-	if (s==null) return;
-	
-	// will grow, up to limit
-	makeSpace( len );
+        if (s==null) return;
+        
+        // will grow, up to limit
+        makeSpace( len );
 
-	// if we don't have limit: makeSpace can grow as it wants
-	if( limit < 0 ) {
-	    // assert: makeSpace made enough space
-	    s.getChars(off, off+len, buff, end );
-	    end+=len;
-	    return;
-	}
+        // if we don't have limit: makeSpace can grow as it wants
+        if( limit < 0 ) {
+            // assert: makeSpace made enough space
+            s.getChars(off, off+len, buff, end );
+            end+=len;
+            return;
+        }
 
-	int sOff = off;
-	int sEnd = off + len;
-	while (sOff < sEnd) {
-	    int d = min(limit - end, sEnd - sOff);
-	    s.getChars( sOff, sOff+d, buff, end);
-	    sOff += d;
-	    end += d;
-	    if (end >= limit)
-		flushBuffer();
-	}
+        int sOff = off;
+        int sEnd = off + len;
+        while (sOff < sEnd) {
+            int d = min(limit - end, sEnd - sOff);
+            s.getChars( sOff, sOff+d, buff, end);
+            sOff += d;
+            end += d;
+            if (end >= limit)
+                flushBuffer();
+        }
     }
     
     // -------------------- Removing data from the buffer --------------------
@@ -429,59 +426,59 @@
 
 
     public void flushBuffer()
-	throws IOException
+        throws IOException
     {
-	//assert out!=null
-	if( out==null ) {
-	    throw new IOException( "Buffer overflow, no sink " + limit + " " +
-				   buff.length  );
-	}
-	out.realWriteChars( buff, start, end - start );
-	end=start;
+        //assert out!=null
+        if( out==null ) {
+            throw new IOException( "Buffer overflow, no sink " + limit + " " +
+                                   buff.length  );
+        }
+        out.realWriteChars( buff, start, end - start );
+        end=start;
     }
 
     /** Make space for len chars. If len is small, allocate
-     *	a reserve space too. Never grow bigger than limit.
+     *        a reserve space too. Never grow bigger than limit.
      */
     private void makeSpace(int count)
     {
-	char[] tmp = null;
+        char[] tmp = null;
 
-	int newSize;
-	int desiredSize=end + count;
+        int newSize;
+        int desiredSize=end + count;
 
-	// Can't grow above the limit
-	if( limit > 0 &&
-	    desiredSize > limit) {
-	    desiredSize=limit;
-	}
+        // Can't grow above the limit
+        if( limit > 0 &&
+            desiredSize > limit) {
+            desiredSize=limit;
+        }
 
-	if( buff==null ) {
-	    if( desiredSize < 256 ) desiredSize=256; // take a minimum
-	    buff=new char[desiredSize];
-	}
+        if( buff==null ) {
+            if( desiredSize < 256 ) desiredSize=256; // take a minimum
+            buff=new char[desiredSize];
+        }
 
-	// limit < buf.length ( the buffer is already big )
-	// or we already have space XXX
-	if( desiredSize <= buff.length) {
-	    return;
-	}
-	// grow in larger chunks
-	if( desiredSize < 2 * buff.length ) {
-	    newSize= buff.length * 2;
-	    if( limit >0 &&
-		newSize > limit ) newSize=limit;
-	    tmp=new char[newSize];
-	} else {
-	    newSize= buff.length * 2 + count ;
-	    if( limit > 0 &&
-		newSize > limit ) newSize=limit;
-	    tmp=new char[newSize];
-	}
-	
-	System.arraycopy(buff, start, tmp, start, end-start);
-	buff = tmp;
-	tmp = null;
+        // limit < buf.length ( the buffer is already big )
+        // or we already have space XXX
+        if( desiredSize <= buff.length) {
+            return;
+        }
+        // grow in larger chunks
+        if( desiredSize < 2 * buff.length ) {
+            newSize= buff.length * 2;
+            if( limit >0 &&
+                newSize > limit ) newSize=limit;
+            tmp=new char[newSize];
+        } else {
+            newSize= buff.length * 2 + count ;
+            if( limit > 0 &&
+                newSize > limit ) newSize=limit;
+            tmp=new char[newSize];
+        }
+        
+        System.arraycopy(buff, start, tmp, start, end-start);
+        buff = tmp;
+        tmp = null;
     }
     
     // -------------------- Conversion and getters --------------------
@@ -501,8 +498,8 @@
 
     public int getInt()
     {
-	return Ascii.parseInt(buff, start,
-				end-start);
+        return Ascii.parseInt(buff, start,
+                                end-start);
     }
     
     // -------------------- equals --------------------
@@ -513,18 +510,18 @@
      * @return true if the comparison succeeded, false otherwise
      */
     public boolean equals(String s) {
-	char[] c = buff;
-	int len = end-start;
-	if (c == null || len != s.length()) {
-	    return false;
-	}
-	int off = start;
-	for (int i = 0; i < len; i++) {
-	    if (c[off++] != s.charAt(i)) {
-		return false;
-	    }
-	}
-	return true;
+        char[] c = buff;
+        int len = end-start;
+        if (c == null || len != s.length()) {
+            return false;
+        }
+        int off = start;
+        for (int i = 0; i < len; i++) {
+            if (c[off++] != s.charAt(i)) {
+                return false;
+            }
+        }
+        return true;
     }
 
     /**
@@ -533,57 +530,57 @@
      * @return true if the comparison succeeded, false otherwise
      */
     public boolean equalsIgnoreCase(String s) {
-	char[] c = buff;
-	int len = end-start;
-	if (c == null || len != s.length()) {
-	    return false;
-	}
-	int off = start;
-	for (int i = 0; i < len; i++) {
-	    if (Ascii.toLower( c[off++] ) != Ascii.toLower( s.charAt(i))) {
-		return false;
-	    }
-	}
-	return true;
+        char[] c = buff;
+        int len = end-start;
+        if (c == null || len != s.length()) {
+            return false;
+        }
+        int off = start;
+        for (int i = 0; i < len; i++) {
+            if (Ascii.toLower( c[off++] ) != Ascii.toLower( s.charAt(i))) {
+                return false;
+            }
+        }
+        return true;
     }
 
     public boolean equals(CharChunk cc) {
-	return equals( cc.getChars(), cc.getOffset(), cc.getLength());
+        return equals( cc.getChars(), cc.getOffset(), cc.getLength());
     }
 
     public boolean equals(char b2[], int off2, int len2) {
-	char b1[]=buff;
-	if( b1==null && b2==null ) return true;
-	
-	if (b1== null || b2==null || end-start != len2) {
-	    return false;
-	}
-	int off1 = start;
-	int len=end-start;
-	while ( len-- > 0) {
-	    if (b1[off1++] != b2[off2++]) {
-		return false;
-	    }
-	}
-	return true;
+        char b1[]=buff;
+        if( b1==null && b2==null ) return true;
+        
+        if (b1== null || b2==null || end-start != len2) {
+            return false;
+        }
+        int off1 = start;
+        int len=end-start;
+        while ( len-- > 0) {
+            if (b1[off1++] != b2[off2++]) {
+                return false;
+            }
+        }
+        return true;
     }
 
     public boolean equals(byte b2[], int off2, int len2) {
-	char b1[]=buff;
-	if( b2==null && b1==null ) return true;
+        char b1[]=buff;
+        if( b2==null && b1==null ) return true;
 
-	if (b1== null || b2==null || end-start != len2) {
-	    return false;
-	}
-	int off1 = start;
-	int len=end-start;
-	
-	while ( len-- > 0) {
-	    if ( b1[off1++] != (char)b2[off2++]) {
-		return false;
-	    }
-	}
-	return true;
+        if (b1== null || b2==null || end-start != len2) {
+            return false;
+        }
+        int off1 = start;
+        int len=end-start;
+        
+        while ( len-- > 0) {
+            if ( b1[off1++] != (char)b2[off2++]) {
+                return false;
+            }
+        }
+        return true;
     }
     
     /**
@@ -591,18 +588,18 @@
      * @param s the string
      */
     public boolean startsWith(String s) {
-	char[] c = buff;
-	int len = s.length();
-	if (c == null || len > end-start) {
-	    return false;
-	}
-	int off = start;
-	for (int i = 0; i < len; i++) {
-	    if (c[off++] != s.charAt(i)) {
-		return false;
-	    }
-	}
-	return true;
+        char[] c = buff;
+        int len = s.length();
+        if (c == null || len > end-start) {
+            return false;
+        }
+        int off = start;
+        for (int i = 0; i < len; i++) {
+            if (c[off++] != s.charAt(i)) {
+                return false;
+            }
+        }
+        return true;
     }
     
     /**
@@ -610,18 +607,18 @@
      * @param s the string
      */
     public boolean startsWithIgnoreCase(String s, int pos) {
-	char[] c = buff;
-	int len = s.length();
-	if (c == null || len+pos > end-start) {
-	    return false;
-	}
-	int off = start+pos;
-	for (int i = 0; i < len; i++) {
-	    if (Ascii.toLower( c[off++] ) != Ascii.toLower( s.charAt(i))) {
-		return false;
-	    }
-	}
-	return true;
+        char[] c = buff;
+        int len = s.length();
+        if (c == null || len+pos > end-start) {
+            return false;
+        }
+        int off = start+pos;
+        for (int i = 0; i < len; i++) {
+            if (Ascii.toLower( c[off++] ) != Ascii.toLower( s.charAt(i))) {
+                return false;
+            }
+        }
+        return true;
     }
     
 
@@ -629,24 +626,24 @@
 
     // normal hash. 
     public int hash() {
-	int code=0;
-	for (int i = start; i < start + end-start; i++) {
-	    code = code * 37 + buff[i];
-	}
-	return code;
+        int code=0;
+        for (int i = start; i < start + end-start; i++) {
+            code = code * 37 + buff[i];
+        }
+        return code;
     }
 
     // hash ignoring case
     public int hashIgnoreCase() {
-	int code=0;
-	for (int i = start; i < end; i++) {
-	    code = code * 37 + Ascii.toLower(buff[i]);
-	}
-	return code;
+        int code=0;
+        for (int i = start; i < end; i++) {
+            code = code * 37 + Ascii.toLower(buff[i]);
+        }
+        return code;
     }
 
     public int indexOf(char c) {
-	return indexOf( c, start);
+        return indexOf( c, start);
     }
     
     /**
@@ -654,45 +651,45 @@
      * @param c the character
      */
     public int indexOf(char c, int starting) {
-	int ret = indexOf( buff, start+starting, end, c );
-	return (ret >= start) ? ret - start : -1;
+        int ret = indexOf( buff, start+starting, end, c );
+        return (ret >= start) ? ret - start : -1;
     }
 
     public static int indexOf( char chars[], int off, int cend, char qq )
     {
-	while( off < cend ) {
-	    char b=chars[off];
-	    if( b==qq )
-		return off;
-	    off++;
-	}
-	return -1;
+        while( off < cend ) {
+            char b=chars[off];
+            if( b==qq )
+                return off;
+            off++;
+        }
+        return -1;
     }
     
 
     public int indexOf( String src, int srcOff, int srcLen, int myOff ) {
-	char first=src.charAt( srcOff );
+        char first=src.charAt( srcOff );
 
-	// Look for first char 
-	int srcEnd = srcOff + srcLen;
+        // Look for first char 
+        int srcEnd = srcOff + srcLen;
         
-	for( int i=myOff+start; i <= (end - srcLen); i++ ) {
-	    if( buff[i] != first ) continue;
-	    // found first char, now look for a match
+        for( int i=myOff+start; i <= (end - srcLen); i++ ) {
+            if( buff[i] != first ) continue;
+            // found first char, now look for a match
             int myPos=i+1;
-	    for( int srcPos=srcOff + 1; srcPos< srcEnd; ) {
+            for( int srcPos=srcOff + 1; srcPos< srcEnd; ) {
                 if( buff[myPos++] != src.charAt( srcPos++ ))
-		    break;
+                    break;
                 if( srcPos==srcEnd ) return i-start; // found it
-	    }
-	}
-	return -1;
+            }
+        }
+        return -1;
     }
 
     // -------------------- utils
     private int min(int a, int b) {
-	if (a < b) return a;
-	return b;
+        if (a < b) return a;
+        return b;
     }
 
     // Char sequence impl

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/DateTool.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/DateTool.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/DateTool.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/HexUtils.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/HexUtils.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/HexUtils.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/MessageBytes.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/MessageBytes.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/MessageBytes.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -182,15 +183,18 @@
      * Set the content to be a string
      */
     public void setString( String s ) {
-        if (s == null)
-            return;
         strValue=s;
-        hasStrValue=true;
         hasHashCode=false;
         hasIntValue=false;
         hasLongValue=false;
         hasDateValue=false; 
-        type=T_STR;
+        if (s == null) {
+            hasStrValue=false;
+            type=T_NULL;
+        } else {
+            hasStrValue=true;
+            type=T_STR;
+        }
     }
 
     // -------------------- Conversion and getters --------------------

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/StringCache.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/StringCache.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/StringCache.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -54,6 +55,8 @@
     protected static int cacheSize = 
         Integer.parseInt(System.getProperty("tomcat.util.buf.StringCache.cacheSize", "200"));
     
+    protected static int maxStringSize = 
+        Integer.parseInt(System.getProperty("tomcat.util.buf.StringCache.maxStringSize", "128"));
 
     /**
      * Statistics hash map for byte chunk.
@@ -209,7 +212,7 @@
         // still training
         if (bcCache == null) {
             String value = bc.toStringInternal();
-            if (byteEnabled) {
+            if (byteEnabled && (value.length() < maxStringSize)) {
                 // If training, everything is synced
                 synchronized (bcStats) {
                     // If the cache has been generated on a previous invocation
@@ -252,8 +255,6 @@
                         while (n < size) {
                             Object key = tempMap.lastKey();
                             ArrayList list = (ArrayList) tempMap.get(key);
-                            ByteEntry[] list2 = 
-                                (ByteEntry[]) list.toArray(new ByteEntry[list.size()]);
                             for (int i = 0; i < list.size() && n < size; i++) {
                                 ByteEntry entry = (ByteEntry) list.get(i);
                                 tempChunk.setBytes(entry.name, 0, entry.name.length);
@@ -323,7 +324,7 @@
         // still training
         if (ccCache == null) {
             String value = cc.toStringInternal();
-            if (charEnabled) {
+            if (charEnabled && (value.length() < maxStringSize)) {
                 // If training, everything is synced
                 synchronized (ccStats) {
                     // If the cache has been generated on a previous invocation
@@ -366,8 +367,6 @@
                         while (n < size) {
                             Object key = tempMap.lastKey();
                             ArrayList list = (ArrayList) tempMap.get(key);
-                            CharEntry[] list2 = 
-                                (CharEntry[]) list.toArray(new CharEntry[list.size()]);
                             for (int i = 0; i < list.size() && n < size; i++) {
                                 CharEntry entry = (CharEntry) list.get(i);
                                 tempChunk.setChars(entry.name, 0, entry.name.length);

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/TimeStamp.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/TimeStamp.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/TimeStamp.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/UDecoder.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/UDecoder.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/UDecoder.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -29,8 +30,8 @@
  */
 public final class UDecoder {
     
-    private static org.apache.commons.logging.Log log=
-        org.apache.commons.logging.LogFactory.getLog(UDecoder.class );
+    protected static final boolean ALLOW_ENCODED_SLASH = 
+        Boolean.valueOf(System.getProperty("org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH", "false")).booleanValue();
     
     public UDecoder() 
     {
@@ -65,6 +66,8 @@
 	// idx will be the smallest positive inxes ( first % or + )
 	if( idx2 >= 0 && idx2 < idx ) idx=idx2;
 	if( idx < 0 ) idx=idx2;
+    
+	boolean noSlash = !(ALLOW_ENCODED_SLASH || query);
 
 	for( int j=idx; j<end; j++, idx++ ) {
 	    if( buff[ j ] == '+' && query) {
@@ -83,6 +86,9 @@
 		
 		j+=2;
 		int res=x2c( b1, b2 );
+                if (noSlash && (res == '/')) {
+                    throw new CharConversionException( "noSlash");
+                }
 		buff[idx]=(byte)res;
 	    }
 	}
@@ -124,7 +130,8 @@
 	
 	if( idx2 >= 0 && idx2 < idx ) idx=idx2; 
 	if( idx < 0 ) idx=idx2;
-
+    
+	boolean noSlash = !(ALLOW_ENCODED_SLASH || query);
 	for( int j=idx; j<cend; j++, idx++ ) {
 	    if( buff[ j ] == '+' && query ) {
 		buff[idx]=( ' ' );
@@ -143,6 +150,9 @@
 		
 		j+=2;
 		int res=x2c( b1, b2 );
+		if (noSlash && (res == '/')) {
+		    throw new CharConversionException( "noSlash");
+            	}
 		buff[idx]=(char)res;
 	    }
 	}
@@ -267,10 +277,4 @@
 	return digit;
     }
 
-    private final static int debug=0;
-    private static void log( String s ) {
-        if (log.isDebugEnabled())
-            log.debug("URLDecoder: " + s );
-    }
-
 }

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/UEncoder.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/UEncoder.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/UEncoder.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -140,10 +141,6 @@
     // -------------------- Internal implementation --------------------
     
     // 
-    private void init() {
-	
-    }
-    
     private void initSafeChars() {
 	safeChars=new BitSet(128);
 	int i;

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/UTF8Decoder.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/UTF8Decoder.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/buf/UTF8Decoder.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/EmptyEnumeration.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/EmptyEnumeration.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/EmptyEnumeration.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/LRUCache.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/LRUCache.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/LRUCache.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/MultiMap.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/MultiMap.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/MultiMap.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/MultiMapNamesEnumeration.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/MultiMapNamesEnumeration.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/MultiMapNamesEnumeration.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/MultiMapValuesEnumeration.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/MultiMapValuesEnumeration.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/MultiMapValuesEnumeration.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/Queue.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/Queue.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/Queue.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/SimpleHashtable.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/SimpleHashtable.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/SimpleHashtable.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/SimplePool.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/SimplePool.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/collections/SimplePool.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/compat/Jdk14Compat.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/compat/Jdk14Compat.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/compat/Jdk14Compat.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/compat/JdkCompat.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/compat/JdkCompat.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/compat/JdkCompat.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/AbstractObjectCreationFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/AbstractObjectCreationFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/AbstractObjectCreationFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: AbstractObjectCreationFactory.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: AbstractObjectCreationFactory.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/AbstractRulesImpl.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/AbstractRulesImpl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/AbstractRulesImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: AbstractRulesImpl.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: AbstractRulesImpl.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ArrayStack.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ArrayStack.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ArrayStack.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: ArrayStack.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: ArrayStack.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/CallMethodRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/CallMethodRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/CallMethodRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: CallMethodRule.java 299765 2004-08-31 23:52:52Z yoavs $
+/* $Id: CallMethodRule.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/CallParamRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/CallParamRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/CallParamRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: CallParamRule.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: CallParamRule.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/Digester.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/Digester.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/Digester.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: Digester.java 380645 2006-02-24 11:37:46Z remm $
+/* $Id: Digester.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/FactoryCreateRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/FactoryCreateRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/FactoryCreateRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: FactoryCreateRule.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: FactoryCreateRule.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/GenericParser.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/GenericParser.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/GenericParser.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: GenericParser.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: GenericParser.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/NodeCreateRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/NodeCreateRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/NodeCreateRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: NodeCreateRule.java 299765 2004-08-31 23:52:52Z yoavs $
+/* $Id: NodeCreateRule.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2002-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ObjectCreateRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ObjectCreateRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ObjectCreateRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: ObjectCreateRule.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: ObjectCreateRule.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ObjectCreationFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ObjectCreationFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ObjectCreationFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: ObjectCreationFactory.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: ObjectCreationFactory.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ObjectParamRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ObjectParamRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ObjectParamRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: ObjectParamRule.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: ObjectParamRule.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2002-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ParserFeatureSetterFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ParserFeatureSetterFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/ParserFeatureSetterFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: ParserFeatureSetterFactory.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: ParserFeatureSetterFactory.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/PathCallParamRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/PathCallParamRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/PathCallParamRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: PathCallParamRule.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: PathCallParamRule.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2003-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/Rule.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/Rule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/Rule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: Rule.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: Rule.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/RuleSet.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/RuleSet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/RuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: RuleSet.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: RuleSet.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/RuleSetBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/RuleSetBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/RuleSetBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: RuleSetBase.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: RuleSetBase.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/Rules.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/Rules.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/Rules.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: Rules.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: Rules.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/RulesBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/RulesBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/RulesBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: RulesBase.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: RulesBase.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetNextRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetNextRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetNextRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: SetNextRule.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: SetNextRule.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetPropertiesRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetPropertiesRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetPropertiesRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: SetPropertiesRule.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: SetPropertiesRule.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetPropertyRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetPropertyRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetPropertyRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: SetPropertyRule.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: SetPropertyRule.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetRootRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetRootRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetRootRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: SetRootRule.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: SetRootRule.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2002-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetTopRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetTopRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/SetTopRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: SetTopRule.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: SetTopRule.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/WithDefaultsRulesWrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/WithDefaultsRulesWrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/WithDefaultsRulesWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: WithDefaultsRulesWrapper.java 299475 2004-06-26 17:41:32Z remm $
+/* $Id: WithDefaultsRulesWrapper.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2003-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/XercesParser.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/XercesParser.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/digester/XercesParser.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: XercesParser.java 299768 2004-09-02 00:48:12Z yoavs $
+/* $Id: XercesParser.java 466585 2006-10-21 22:16:34Z markt $
  *
- * Copyright 2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/AcceptLanguage.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/AcceptLanguage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/AcceptLanguage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/BaseRequest.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/BaseRequest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/BaseRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,7 @@
 /***************************************************************************
  * Description: Base http request object.                                  *
  * Author:      Keving Seguin [seguin at apache.org]                          *
- * Version:     $Revision: 299484 $                                           *
+ * Version:     $Revision: 466585 $                                           *
  ***************************************************************************/
 
 package org.apache.tomcat.util.http;

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/ContentType.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/ContentType.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/ContentType.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/Cookies.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/Cookies.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/Cookies.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/FastHttpDateFormat.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/FastHttpDateFormat.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/FastHttpDateFormat.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/HttpMessages.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/HttpMessages.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/HttpMessages.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/MimeHeaders.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/MimeHeaders.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/MimeHeaders.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -100,7 +101,7 @@
      * The header fields.
      */
     private MimeHeaderField[] headers = new
-	MimeHeaderField[DEFAULT_HEADER_SIZE];
+        MimeHeaderField[DEFAULT_HEADER_SIZE];
 
     /**
      * The current number of header fields.
@@ -125,10 +126,10 @@
      * Clears all header fields.
      */
     public void clear() {
-	for (int i = 0; i < count; i++) {
-	    headers[i].recycle();
-	}
-	count = 0;
+        for (int i = 0; i < count; i++) {
+            headers[i].recycle();
+        }
+        count = 0;
     }
 
     /**
@@ -152,7 +153,7 @@
      * Returns the current number of header fields.
      */
     public int size() {
-	return count;
+        return count;
     }
 
     /**
@@ -160,7 +161,7 @@
      * This may be used to iterate through all header fields.
      */
     public MessageBytes getName(int n) {
-	return n >= 0 && n < count ? headers[n].getName() : null;
+        return n >= 0 && n < count ? headers[n].getName() : null;
     }
 
     /**
@@ -168,21 +169,21 @@
      * This may be used to iterate through all header fields.
      */
     public MessageBytes getValue(int n) {
-	return n >= 0 && n < count ? headers[n].getValue() : null;
+        return n >= 0 && n < count ? headers[n].getValue() : null;
     }
 
     /** Find the index of a header with the given name.
      */
     public int findHeader( String name, int starting ) {
-	// We can use a hash - but it's not clear how much
-	// benefit you can get - there is an  overhead 
-	// and the number of headers is small (4-5 ?)
-	// Another problem is that we'll pay the overhead
-	// of constructing the hashtable
+        // We can use a hash - but it's not clear how much
+        // benefit you can get - there is an  overhead 
+        // and the number of headers is small (4-5 ?)
+        // Another problem is that we'll pay the overhead
+        // of constructing the hashtable
 
-	// A custom search tree may be better
+        // A custom search tree may be better
         for (int i = starting; i < count; i++) {
-	    if (headers[i].getName().equalsIgnoreCase(name)) {
+            if (headers[i].getName().equalsIgnoreCase(name)) {
                 return i;
             }
         }
@@ -197,11 +198,11 @@
      * that multiple fields with that name exist in this header.
      */
     public Enumeration names() {
-	return new NamesEnumerator(this);
+        return new NamesEnumerator(this);
     }
 
     public Enumeration values(String name) {
-	return new ValuesEnumerator(this, name);
+        return new ValuesEnumerator(this, name);
     }
 
     // -------------------- Adding headers --------------------
@@ -212,54 +213,54 @@
      * field has not had its name or value initialized.
      */
     private MimeHeaderField createHeader() {
-	MimeHeaderField mh;
-	int len = headers.length;
-	if (count >= len) {
-	    // expand header list array
-	    MimeHeaderField tmp[] = new MimeHeaderField[count * 2];
-	    System.arraycopy(headers, 0, tmp, 0, len);
-	    headers = tmp;
-	}
-	if ((mh = headers[count]) == null) {
-	    headers[count] = mh = new MimeHeaderField();
-	}
-	count++;
-	return mh;
+        MimeHeaderField mh;
+        int len = headers.length;
+        if (count >= len) {
+            // expand header list array
+            MimeHeaderField tmp[] = new MimeHeaderField[count * 2];
+            System.arraycopy(headers, 0, tmp, 0, len);
+            headers = tmp;
+        }
+        if ((mh = headers[count]) == null) {
+            headers[count] = mh = new MimeHeaderField();
+        }
+        count++;
+        return mh;
     }
 
     /** Create a new named header , return the MessageBytes
-	container for the new value
+        container for the new value
     */
     public MessageBytes addValue( String name ) {
- 	MimeHeaderField mh = createHeader();
-	mh.getName().setString(name);
-	return mh.getValue();
+        MimeHeaderField mh = createHeader();
+        mh.getName().setString(name);
+        return mh.getValue();
     }
 
     /** Create a new named header using un-translated byte[].
-	The conversion to chars can be delayed until
-	encoding is known.
+        The conversion to chars can be delayed until
+        encoding is known.
      */
     public MessageBytes addValue(byte b[], int startN, int len)
     {
-	MimeHeaderField mhf=createHeader();
-	mhf.getName().setBytes(b, startN, len);
-	return mhf.getValue();
+        MimeHeaderField mhf=createHeader();
+        mhf.getName().setBytes(b, startN, len);
+        return mhf.getValue();
     }
 
     /** Create a new named header using translated char[].
      */
     public MessageBytes addValue(char c[], int startN, int len)
     {
-	MimeHeaderField mhf=createHeader();
-	mhf.getName().setChars(c, startN, len);
-	return mhf.getValue();
+        MimeHeaderField mhf=createHeader();
+        mhf.getName().setChars(c, startN, len);
+        return mhf.getValue();
     }
 
     /** Allow "set" operations - 
         return a MessageBytes container for the
-	header value ( existing header or new
-	if this .
+        header value ( existing header or new
+        if this .
     */
     public MessageBytes setValue( String name ) {
         for ( int i = 0; i < count; i++ ) {
@@ -285,18 +286,37 @@
      */
     public MessageBytes getValue(String name) {
         for (int i = 0; i < count; i++) {
-	    if (headers[i].getName().equalsIgnoreCase(name)) {
+            if (headers[i].getName().equalsIgnoreCase(name)) {
                 return headers[i].getValue();
             }
         }
         return null;
     }
 
+    /**
+     * Finds and returns a unique header field with the given name. If no such
+     * field exists, null is returned. If the specified header field is not
+     * unique then an {@link IllegalArgumentException} is thrown. 
+     */
+    public MessageBytes getUniqueValue(String name) {
+        MessageBytes result = null;
+        for (int i = 0; i < count; i++) {
+            if (headers[i].getName().equalsIgnoreCase(name)) {
+                if (result == null) {
+                    result = headers[i].getValue();
+                } else {
+                    throw new IllegalArgumentException();
+                }
+            }
+        }
+        return result;
+    }
+
     // bad shortcut - it'll convert to string ( too early probably,
     // encoding is guessed very late )
     public String getHeader(String name) {
-	MessageBytes mh = getValue(name);
-	return mh != null ? mh.toString() : null;
+        MessageBytes mh = getValue(name);
+        return mh != null ? mh.toString() : null;
     }
 
     // -------------------- Removing --------------------
@@ -345,41 +365,41 @@
     MimeHeaders headers;
 
     NamesEnumerator(MimeHeaders headers) {
-	this.headers=headers;
-	pos=0;
-	size = headers.size();
-	findNext();
+        this.headers=headers;
+        pos=0;
+        size = headers.size();
+        findNext();
     }
 
     private void findNext() {
-	next=null;
-	for(  ; pos< size; pos++ ) {
-	    next=headers.getName( pos ).toString();
-	    for( int j=0; j<pos ; j++ ) {
-		if( headers.getName( j ).equalsIgnoreCase( next )) {
-		    // duplicate.
-		    next=null;
-		    break;
-		}
-	    }
-	    if( next!=null ) {
-		// it's not a duplicate
-		break;
-	    }
-	}
-	// next time findNext is called it will try the
-	// next element
-	pos++;
+        next=null;
+        for(  ; pos< size; pos++ ) {
+            next=headers.getName( pos ).toString();
+            for( int j=0; j<pos ; j++ ) {
+                if( headers.getName( j ).equalsIgnoreCase( next )) {
+                    // duplicate.
+                    next=null;
+                    break;
+                }
+            }
+            if( next!=null ) {
+                // it's not a duplicate
+                break;
+            }
+        }
+        // next time findNext is called it will try the
+        // next element
+        pos++;
     }
     
     public boolean hasMoreElements() {
-	return next!=null;
+        return next!=null;
     }
 
     public Object nextElement() {
-	String current=next;
-	findNext();
-	return current;
+        String current=next;
+        findNext();
+        return current;
     }
 }
 
@@ -395,32 +415,32 @@
 
     ValuesEnumerator(MimeHeaders headers, String name) {
         this.name=name;
-	this.headers=headers;
-	pos=0;
-	size = headers.size();
-	findNext();
+        this.headers=headers;
+        pos=0;
+        size = headers.size();
+        findNext();
     }
 
     private void findNext() {
-	next=null;
-	for( ; pos< size; pos++ ) {
-	    MessageBytes n1=headers.getName( pos );
-	    if( n1.equalsIgnoreCase( name )) {
-		next=headers.getValue( pos );
-		break;
-	    }
-	}
-	pos++;
+        next=null;
+        for( ; pos< size; pos++ ) {
+            MessageBytes n1=headers.getName( pos );
+            if( n1.equalsIgnoreCase( name )) {
+                next=headers.getValue( pos );
+                break;
+            }
+        }
+        pos++;
     }
     
     public boolean hasMoreElements() {
-	return next!=null;
+        return next!=null;
     }
 
     public Object nextElement() {
-	MessageBytes current=next;
-	findNext();
-	return current.toString();
+        MessageBytes current=next;
+        findNext();
+        return current.toString();
     }
 }
 
@@ -441,16 +461,16 @@
     }
 
     public void recycle() {
-	nameB.recycle();
-	valueB.recycle();
-	next=null;
+        nameB.recycle();
+        valueB.recycle();
+        next=null;
     }
 
     public MessageBytes getName() {
-	return nameB;
+        return nameB;
     }
 
     public MessageBytes getValue() {
-	return valueB;
+        return valueB;
     }
 }

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/MimeMap.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/MimeMap.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/MimeMap.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/Parameters.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/Parameters.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/Parameters.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -68,91 +69,91 @@
      * 
      */
     public Parameters() {
-	super( INITIAL_SIZE );
+        super( INITIAL_SIZE );
     }
 
     public void setQuery( MessageBytes queryMB ) {
-	this.queryMB=queryMB;
+        this.queryMB=queryMB;
     }
 
     public void setHeaders( MimeHeaders headers ) {
-	this.headers=headers;
+        this.headers=headers;
     }
 
     public void setEncoding( String s ) {
-	encoding=s;
-	if(debug>0) log( "Set encoding to " + s );
+        encoding=s;
+        if(debug>0) log( "Set encoding to " + s );
     }
 
     public void setQueryStringEncoding( String s ) {
-	queryStringEncoding=s;
-	if(debug>0) log( "Set query string encoding to " + s );
+        queryStringEncoding=s;
+        if(debug>0) log( "Set query string encoding to " + s );
     }
 
     public void recycle() {
-	super.recycle();
-	paramHashStringArray.clear();
-	didQueryParameters=false;
-	currentChild=null;
-	didMerge=false;
-	encoding=null;
-	decodedQuery.recycle();
+        super.recycle();
+        paramHashStringArray.clear();
+        didQueryParameters=false;
+        currentChild=null;
+        didMerge=false;
+        encoding=null;
+        decodedQuery.recycle();
     }
     
     // -------------------- Sub-request support --------------------
 
     public Parameters getCurrentSet() {
-	if( currentChild==null )
-	    return this;
-	return currentChild;
+        if( currentChild==null )
+            return this;
+        return currentChild;
     }
     
     /** Create ( or reuse ) a child that will be used during a sub-request.
-	All future changes ( setting query string, adding parameters )
-	will affect the child ( the parent request is never changed ).
-	Both setters and getters will return the data from the deepest
-	child, merged with data from parents.
+        All future changes ( setting query string, adding parameters )
+        will affect the child ( the parent request is never changed ).
+        Both setters and getters will return the data from the deepest
+        child, merged with data from parents.
     */
     public void push() {
-	// We maintain a linked list, that will grow to the size of the
-	// longest include chain.
-	// The list has 2 points of interest:
-	// - request.parameters() is the original request and head,
-	// - request.parameters().currentChild() is the current set.
-	// The ->child and parent<- links are preserved ( currentChild is not
-	// the last in the list )
-	
-	// create a new element in the linked list
-	// note that we reuse the child, if any - pop will not
-	// set child to null !
-	if( currentChild==null ) {
-	    currentChild=new Parameters();
-	    currentChild.setURLDecoder( urlDec );
-	    currentChild.parent=this;
-	    return;
-	}
-	if( currentChild.child==null ) {
-	    currentChild.child=new Parameters();
-	    currentChild.setURLDecoder( urlDec );
-	    currentChild.child.parent=currentChild;
-	} // it is not null if this object already had a child
-	// i.e. a deeper include() ( we keep it )
+        // We maintain a linked list, that will grow to the size of the
+        // longest include chain.
+        // The list has 2 points of interest:
+        // - request.parameters() is the original request and head,
+        // - request.parameters().currentChild() is the current set.
+        // The ->child and parent<- links are preserved ( currentChild is not
+        // the last in the list )
+        
+        // create a new element in the linked list
+        // note that we reuse the child, if any - pop will not
+        // set child to null !
+        if( currentChild==null ) {
+            currentChild=new Parameters();
+            currentChild.setURLDecoder( urlDec );
+            currentChild.parent=this;
+            return;
+        }
+        if( currentChild.child==null ) {
+            currentChild.child=new Parameters();
+            currentChild.setURLDecoder( urlDec );
+            currentChild.child.parent=currentChild;
+        } // it is not null if this object already had a child
+        // i.e. a deeper include() ( we keep it )
 
-	// the head will be the new element.
-	currentChild=currentChild.child;
-	currentChild.setEncoding( encoding );
+        // the head will be the new element.
+        currentChild=currentChild.child;
+        currentChild.setEncoding( encoding );
     }
 
     /** Discard the last child. This happens when we return from a
-	sub-request and the parameters are locally modified.
+        sub-request and the parameters are locally modified.
      */
     public void pop() {
-	if( currentChild==null ) {
-	    throw new RuntimeException( "Attempt to pop without a push" );
-	}
-	currentChild.recycle();
-	currentChild=currentChild.parent;
-	// don't remove the top.
+        if( currentChild==null ) {
+            throw new RuntimeException( "Attempt to pop without a push" );
+        }
+        currentChild.recycle();
+        currentChild=currentChild.parent;
+        // don't remove the top.
     }
     
     // -------------------- Data access --------------------
@@ -181,80 +182,80 @@
     }
 
     public String[] getParameterValues(String name) {
-	handleQueryParameters();
-	// sub-request
-	if( currentChild!=null ) {
-	    currentChild.merge();
-	    return (String[])currentChild.paramHashStringArray.get(name);
-	}
+        handleQueryParameters();
+        // sub-request
+        if( currentChild!=null ) {
+            currentChild.merge();
+            return (String[])currentChild.paramHashStringArray.get(name);
+        }
 
-	// no "facade"
-	String values[]=(String[])paramHashStringArray.get(name);
-	return values;
+        // no "facade"
+        String values[]=(String[])paramHashStringArray.get(name);
+        return values;
     }
  
     public Enumeration getParameterNames() {
-	handleQueryParameters();
-	// Slow - the original code
-	if( currentChild!=null ) {
-	    currentChild.merge();
-	    return currentChild.paramHashStringArray.keys();
-	}
+        handleQueryParameters();
+        // Slow - the original code
+        if( currentChild!=null ) {
+            currentChild.merge();
+            return currentChild.paramHashStringArray.keys();
+        }
 
-	// merge in child
+        // merge in child
         return paramHashStringArray.keys();
     }
 
     /** Combine the parameters from parent with our local ones
      */
     private void merge() {
-	// recursive
-	if( debug > 0 ) {
-	    log("Before merging " + this + " " + parent + " " + didMerge );
-	    log(  paramsAsString());
-	}
-	// Local parameters first - they take precedence as in spec.
-	handleQueryParameters();
+        // recursive
+        if( debug > 0 ) {
+            log("Before merging " + this + " " + parent + " " + didMerge );
+            log(  paramsAsString());
+        }
+        // Local parameters first - they take precedence as in spec.
+        handleQueryParameters();
 
-	// we already merged with the parent
-	if( didMerge ) return;
+        // we already merged with the parent
+        if( didMerge ) return;
 
-	// we are the top level
-	if( parent==null ) return;
+        // we are the top level
+        if( parent==null ) return;
 
-	// Add the parent props to the child ( lower precedence )
-	parent.merge();
-	Hashtable parentProps=parent.paramHashStringArray;
-	merge2( paramHashStringArray , parentProps);
-	didMerge=true;
-	if(debug > 0 )
-	    log("After " + paramsAsString());
+        // Add the parent props to the child ( lower precedence )
+        parent.merge();
+        Hashtable parentProps=parent.paramHashStringArray;
+        merge2( paramHashStringArray , parentProps);
+        didMerge=true;
+        if(debug > 0 )
+            log("After " + paramsAsString());
     }
 
 
     // Shortcut.
     public String getParameter(String name ) {
-	String[] values = getParameterValues(name);
+        String[] values = getParameterValues(name);
         if (values != null) {
-	    if( values.length==0 ) return "";
+            if( values.length==0 ) return "";
             return values[0];
         } else {
-	    return null;
+            return null;
         }
     }
     // -------------------- Processing --------------------
     /** Process the query string into parameters
      */
     public void handleQueryParameters() {
-	if( didQueryParameters ) return;
+        if( didQueryParameters ) return;
 
-	didQueryParameters=true;
+        didQueryParameters=true;
 
-	if( queryMB==null || queryMB.isNull() )
-	    return;
-	
-	if( debug > 0  )
-	    log( "Decoding query " + decodedQuery + " " + queryStringEncoding);
+        if( queryMB==null || queryMB.isNull() )
+            return;
+        
+        if( debug > 0  )
+            log( "Decoding query " + decodedQuery + " " + queryStringEncoding);
 
         try {
             decodedQuery.duplicate( queryMB );
@@ -275,56 +276,56 @@
     private static void merge2(Hashtable one, Hashtable two ) {
         Enumeration e = two.keys();
 
-	while (e.hasMoreElements()) {
-	    String name = (String) e.nextElement();
-	    String[] oneValue = (String[]) one.get(name);
-	    String[] twoValue = (String[]) two.get(name);
-	    String[] combinedValue;
+        while (e.hasMoreElements()) {
+            String name = (String) e.nextElement();
+            String[] oneValue = (String[]) one.get(name);
+            String[] twoValue = (String[]) two.get(name);
+            String[] combinedValue;
 
-	    if (twoValue == null) {
-		continue;
-	    } else {
-		if( oneValue==null ) {
-		    combinedValue = new String[twoValue.length];
-		    System.arraycopy(twoValue, 0, combinedValue,
-				     0, twoValue.length);
-		} else {
-		    combinedValue = new String[oneValue.length +
-					       twoValue.length];
-		    System.arraycopy(oneValue, 0, combinedValue, 0,
-				     oneValue.length);
-		    System.arraycopy(twoValue, 0, combinedValue,
-				     oneValue.length, twoValue.length);
-		}
-		one.put(name, combinedValue);
-	    }
-	}
+            if (twoValue == null) {
+                continue;
+            } else {
+                if( oneValue==null ) {
+                    combinedValue = new String[twoValue.length];
+                    System.arraycopy(twoValue, 0, combinedValue,
+                                     0, twoValue.length);
+                } else {
+                    combinedValue = new String[oneValue.length +
+                                               twoValue.length];
+                    System.arraycopy(oneValue, 0, combinedValue, 0,
+                                     oneValue.length);
+                    System.arraycopy(twoValue, 0, combinedValue,
+                                     oneValue.length, twoValue.length);
+                }
+                one.put(name, combinedValue);
+            }
+        }
     }
 
     // incredibly inefficient data representation for parameters,
     // until we test the new one
     private void addParam( String key, String value ) {
-	if( key==null ) return;
-	String values[];
-	if (paramHashStringArray.containsKey(key)) {
-	    String oldValues[] = (String[])paramHashStringArray.
-		get(key);
-	    values = new String[oldValues.length + 1];
-	    for (int i = 0; i < oldValues.length; i++) {
-		values[i] = oldValues[i];
-	    }
-	    values[oldValues.length] = value;
-	} else {
-	    values = new String[1];
-	    values[0] = value;
-	}
-	
-	
-	paramHashStringArray.put(key, values);
+        if( key==null ) return;
+        String values[];
+        if (paramHashStringArray.containsKey(key)) {
+            String oldValues[] = (String[])paramHashStringArray.
+                get(key);
+            values = new String[oldValues.length + 1];
+            for (int i = 0; i < oldValues.length; i++) {
+                values[i] = oldValues[i];
+            }
+            values[oldValues.length] = value;
+        } else {
+            values = new String[1];
+            values[0] = value;
+        }
+        
+        
+        paramHashStringArray.put(key, values);
     }
 
     public void setURLDecoder( UDecoder u ) {
-	urlDec=u;
+        urlDec=u;
     }
 
     // -------------------- Parameter parsing --------------------
@@ -345,58 +346,61 @@
 
     public void processParameters( byte bytes[], int start, int len, 
                                    String enc ) {
-	int end=start+len;
-	int pos=start;
-	
-	if( debug>0 ) 
-	    log( "Bytes: " + new String( bytes, start, len ));
+        int end=start+len;
+        int pos=start;
+        
+        if( debug>0 ) 
+            log( "Bytes: " + new String( bytes, start, len ));
 
         do {
-	    boolean noEq=false;
-	    int valStart=-1;
-	    int valEnd=-1;
-	    
-	    int nameStart=pos;
-	    int nameEnd=ByteChunk.indexOf(bytes, nameStart, end, '=' );
-	    // Workaround for a&b&c encoding
-	    int nameEnd2=ByteChunk.indexOf(bytes, nameStart, end, '&' );
-	    if( (nameEnd2!=-1 ) &&
-		( nameEnd==-1 || nameEnd > nameEnd2) ) {
-		nameEnd=nameEnd2;
-		noEq=true;
-		valStart=nameEnd;
-		valEnd=nameEnd;
-		if( debug>0) log("no equal " + nameStart + " " + nameEnd + " " + new String(bytes, nameStart, nameEnd-nameStart) );
-	    }
-	    if( nameEnd== -1 ) 
-		nameEnd=end;
+            boolean noEq=false;
+            int valStart=-1;
+            int valEnd=-1;
+            
+            int nameStart=pos;
+            int nameEnd=ByteChunk.indexOf(bytes, nameStart, end, '=' );
+            // Workaround for a&b&c encoding
+            int nameEnd2=ByteChunk.indexOf(bytes, nameStart, end, '&' );
+            if( (nameEnd2!=-1 ) &&
+                ( nameEnd==-1 || nameEnd > nameEnd2) ) {
+                nameEnd=nameEnd2;
+                noEq=true;
+                valStart=nameEnd;
+                valEnd=nameEnd;
+                if(debug>0) log("no equal " + nameStart + " " + nameEnd + " " +
+                        new String(bytes, nameStart, nameEnd-nameStart) );
+            }
+            if( nameEnd== -1 ) 
+                nameEnd=end;
 
-	    if( ! noEq ) {
-		valStart= (nameEnd < end) ? nameEnd+1 : end;
-		valEnd=ByteChunk.indexOf(bytes, valStart, end, '&');
-		if( valEnd== -1 ) valEnd = (valStart < end) ? end : valStart;
-	    }
-	    
-	    pos=valEnd+1;
-	    
-	    if( nameEnd<=nameStart ) {
-		continue;
-		// invalid chunk - it's better to ignore
-		// XXX log it ?
-	    }
-	    tmpName.setBytes( bytes, nameStart, nameEnd-nameStart );
-	    tmpValue.setBytes( bytes, valStart, valEnd-valStart );
+            if( ! noEq ) {
+                valStart= (nameEnd < end) ? nameEnd+1 : end;
+                valEnd=ByteChunk.indexOf(bytes, valStart, end, '&');
+                if( valEnd== -1 ) valEnd = (valStart < end) ? end : valStart;
+            }
+            
+            pos=valEnd+1;
+            
+            if( nameEnd<=nameStart ) {
+                log.warn("Parameters: Invalid chunk ignored.");
+                continue;
+                // invalid chunk - it's better to ignore
+            }
+            tmpName.setBytes( bytes, nameStart, nameEnd-nameStart );
+            tmpValue.setBytes( bytes, valStart, valEnd-valStart );
 
             try {
                 addParam( urlDecode(tmpName, enc), urlDecode(tmpValue, enc) );
             } catch (IOException e) {
                 // Exception during character decoding: skip parameter
+                log.warn("Parameters: Character decoding failed. " + 
+                        "Parameter skipped.", e);
             }
 
-	    tmpName.recycle();
-	    tmpValue.recycle();
+            tmpName.recycle();
+            tmpValue.recycle();
 
-	} while( pos<end );
+        } while( pos<end );
     }
 
     private String urlDecode(ByteChunk bc, String enc)
@@ -427,69 +431,70 @@
     }
 
     public void processParameters( char chars[], int start, int len ) {
-	int end=start+len;
-	int pos=start;
-	
-	if( debug>0 ) 
-	    log( "Chars: " + new String( chars, start, len ));
+        int end=start+len;
+        int pos=start;
+        
+        if( debug>0 ) 
+            log( "Chars: " + new String( chars, start, len ));
         do {
-	    boolean noEq=false;
-	    int nameStart=pos;
-	    int valStart=-1;
-	    int valEnd=-1;
-	    
-	    int nameEnd=CharChunk.indexOf(chars, nameStart, end, '=' );
-	    int nameEnd2=CharChunk.indexOf(chars, nameStart, end, '&' );
-	    if( (nameEnd2!=-1 ) &&
-		( nameEnd==-1 || nameEnd > nameEnd2) ) {
-		nameEnd=nameEnd2;
-		noEq=true;
-		valStart=nameEnd;
-		valEnd=nameEnd;
-		if( debug>0) log("no equal " + nameStart + " " + nameEnd + " " + new String(chars, nameStart, nameEnd-nameStart) );
-	    }
-	    if( nameEnd== -1 ) nameEnd=end;
-	    
-	    if( ! noEq ) {
-		valStart= (nameEnd < end) ? nameEnd+1 : end;
-		valEnd=CharChunk.indexOf(chars, valStart, end, '&');
-		if( valEnd== -1 ) valEnd = (valStart < end) ? end : valStart;
-	    }
-	    
-	    pos=valEnd+1;
-	    
-	    if( nameEnd<=nameStart ) {
-		continue;
-		// invalid chunk - no name, it's better to ignore
-		// XXX log it ?
-	    }
-	    
-	    try {
-		tmpNameC.append( chars, nameStart, nameEnd-nameStart );
-		tmpValueC.append( chars, valStart, valEnd-valStart );
+            boolean noEq=false;
+            int nameStart=pos;
+            int valStart=-1;
+            int valEnd=-1;
+            
+            int nameEnd=CharChunk.indexOf(chars, nameStart, end, '=' );
+            int nameEnd2=CharChunk.indexOf(chars, nameStart, end, '&' );
+            if( (nameEnd2!=-1 ) &&
+                ( nameEnd==-1 || nameEnd > nameEnd2) ) {
+                nameEnd=nameEnd2;
+                noEq=true;
+                valStart=nameEnd;
+                valEnd=nameEnd;
+                if(debug>0) log("no equal " + nameStart + " " + nameEnd + " " +
+                        new String(chars, nameStart, nameEnd-nameStart) );
+            }
+            if( nameEnd== -1 ) nameEnd=end;
+            
+            if( ! noEq ) {
+                valStart= (nameEnd < end) ? nameEnd+1 : end;
+                valEnd=CharChunk.indexOf(chars, valStart, end, '&');
+                if( valEnd== -1 ) valEnd = (valStart < end) ? end : valStart;
+            }
+            
+            pos=valEnd+1;
+            
+            if( nameEnd<=nameStart ) {
+                continue;
+                // invalid chunk - no name, it's better to ignore
+                // XXX log it ?
+            }
+            
+            try {
+                tmpNameC.append( chars, nameStart, nameEnd-nameStart );
+                tmpValueC.append( chars, valStart, valEnd-valStart );
 
-		if( debug > 0 )
-		    log( tmpNameC + "= " + tmpValueC);
+                if( debug > 0 )
+                    log( tmpNameC + "= " + tmpValueC);
 
-		if( urlDec==null ) {
-		    urlDec=new UDecoder();   
-		}
+                if( urlDec==null ) {
+                    urlDec=new UDecoder();   
+                }
 
-		urlDec.convert( tmpNameC );
-		urlDec.convert( tmpValueC );
+                urlDec.convert( tmpNameC );
+                urlDec.convert( tmpValueC );
 
-		if( debug > 0 )
-		    log( tmpNameC + "= " + tmpValueC);
-		
-		addParam( tmpNameC.toString(), tmpValueC.toString() );
-	    } catch( IOException ex ) {
-		ex.printStackTrace();
-	    }
+                if( debug > 0 )
+                    log( tmpNameC + "= " + tmpValueC);
+                
+                addParam( tmpNameC.toString(), tmpValueC.toString() );
+            } catch( IOException ex ) {
+                ex.printStackTrace();
+            }
 
-	    tmpNameC.recycle();
-	    tmpValueC.recycle();
+            tmpNameC.recycle();
+            tmpValueC.recycle();
 
-	} while( pos<end );
+        } while( pos<end );
     }
     
     public void processParameters( MessageBytes data ) {
@@ -497,35 +502,35 @@
     }
 
     public void processParameters( MessageBytes data, String encoding ) {
-	if( data==null || data.isNull() || data.getLength() <= 0 ) return;
+        if( data==null || data.isNull() || data.getLength() <= 0 ) return;
 
-	if( data.getType() == MessageBytes.T_BYTES ) {
-	    ByteChunk bc=data.getByteChunk();
-	    processParameters( bc.getBytes(), bc.getOffset(),
-			       bc.getLength(), encoding);
-	} else {
-	    if (data.getType()!= MessageBytes.T_CHARS ) 
-		data.toChars();
-	    CharChunk cc=data.getCharChunk();
-	    processParameters( cc.getChars(), cc.getOffset(),
-			       cc.getLength());
-	}
+        if( data.getType() == MessageBytes.T_BYTES ) {
+            ByteChunk bc=data.getByteChunk();
+            processParameters( bc.getBytes(), bc.getOffset(),
+                               bc.getLength(), encoding);
+        } else {
+            if (data.getType()!= MessageBytes.T_CHARS ) 
+                data.toChars();
+            CharChunk cc=data.getCharChunk();
+            processParameters( cc.getChars(), cc.getOffset(),
+                               cc.getLength());
+        }
     }
 
     /** Debug purpose
      */
     public String paramsAsString() {
-	StringBuffer sb=new StringBuffer();
-	Enumeration en= paramHashStringArray.keys();
-	while( en.hasMoreElements() ) {
-	    String k=(String)en.nextElement();
-	    sb.append( k ).append("=");
-	    String v[]=(String[])paramHashStringArray.get( k );
-	    for( int i=0; i<v.length; i++ )
-		sb.append( v[i] ).append(",");
-	    sb.append("\n");
-	}
-	return sb.toString();
+        StringBuffer sb=new StringBuffer();
+        Enumeration en= paramHashStringArray.keys();
+        while( en.hasMoreElements() ) {
+            String k=(String)en.nextElement();
+            sb.append( k ).append("=");
+            String v[]=(String[])paramHashStringArray.get( k );
+            for( int i=0; i<v.length; i++ )
+                sb.append( v[i] ).append(",");
+            sb.append("\n");
+        }
+        return sb.toString();
     }
 
     private static int debug=0;
@@ -539,72 +544,73 @@
     /** Used by RequestDispatcher
      */
     public void processParameters( String str ) {
-	int end=str.length();
-	int pos=0;
-	if( debug > 0)
-	    log("String: " + str );
-	
+        int end=str.length();
+        int pos=0;
+        if( debug > 0)
+            log("String: " + str );
+        
         do {
-	    boolean noEq=false;
-	    int valStart=-1;
-	    int valEnd=-1;
-	    
-	    int nameStart=pos;
-	    int nameEnd=str.indexOf('=', nameStart );
-	    int nameEnd2=str.indexOf('&', nameStart );
-	    if( nameEnd2== -1 ) nameEnd2=end;
-	    if( (nameEnd2!=-1 ) &&
-		( nameEnd==-1 || nameEnd > nameEnd2) ) {
-		nameEnd=nameEnd2;
-		noEq=true;
-		valStart=nameEnd;
-		valEnd=nameEnd;
-		if( debug>0) log("no equal " + nameStart + " " + nameEnd + " " + str.substring(nameStart, nameEnd) );
-	    }
+            boolean noEq=false;
+            int valStart=-1;
+            int valEnd=-1;
+            
+            int nameStart=pos;
+            int nameEnd=str.indexOf('=', nameStart );
+            int nameEnd2=str.indexOf('&', nameStart );
+            if( nameEnd2== -1 ) nameEnd2=end;
+            if( (nameEnd2!=-1 ) &&
+                ( nameEnd==-1 || nameEnd > nameEnd2) ) {
+                nameEnd=nameEnd2;
+                noEq=true;
+                valStart=nameEnd;
+                valEnd=nameEnd;
+                if(debug>0) log("no equal " + nameStart + " " + nameEnd + " " +
+                        str.substring(nameStart, nameEnd));
+            }
 
-	    if( nameEnd== -1 ) nameEnd=end;
+            if( nameEnd== -1 ) nameEnd=end;
 
-	    if( ! noEq ) {
-		valStart=nameEnd+1;
-		valEnd=str.indexOf('&', valStart);
-		if( valEnd== -1 ) valEnd = (valStart < end) ? end : valStart;
-	    }
-	    
-	    pos=valEnd+1;
-	    
-	    if( nameEnd<=nameStart ) {
-		continue;
-	    }
-	    if( debug>0)
-		log( "XXX " + nameStart + " " + nameEnd + " "
-		     + valStart + " " + valEnd );
-	    
-	    try {
-		tmpNameC.append(str, nameStart, nameEnd-nameStart );
-		tmpValueC.append(str, valStart, valEnd-valStart );
-	    
-		if( debug > 0 )
-		    log( tmpNameC + "= " + tmpValueC);
+            if( ! noEq ) {
+                valStart=nameEnd+1;
+                valEnd=str.indexOf('&', valStart);
+                if( valEnd== -1 ) valEnd = (valStart < end) ? end : valStart;
+            }
+            
+            pos=valEnd+1;
+            
+            if( nameEnd<=nameStart ) {
+                continue;
+            }
+            if( debug>0)
+                log( "XXX " + nameStart + " " + nameEnd + " "
+                     + valStart + " " + valEnd );
+            
+            try {
+                tmpNameC.append(str, nameStart, nameEnd-nameStart );
+                tmpValueC.append(str, valStart, valEnd-valStart );
+            
+                if( debug > 0 )
+                    log( tmpNameC + "= " + tmpValueC);
 
-		if( urlDec==null ) {
-		    urlDec=new UDecoder();   
-		}
+                if( urlDec==null ) {
+                    urlDec=new UDecoder();   
+                }
 
-		urlDec.convert( tmpNameC );
-		urlDec.convert( tmpValueC );
+                urlDec.convert( tmpNameC );
+                urlDec.convert( tmpValueC );
 
-		if( debug > 0 )
-		    log( tmpNameC + "= " + tmpValueC);
-		
-		addParam( tmpNameC.toString(), tmpValueC.toString() );
-	    } catch( IOException ex ) {
-		ex.printStackTrace();
-	    }
+                if( debug > 0 )
+                    log( tmpNameC + "= " + tmpValueC);
+                
+                addParam( tmpNameC.toString(), tmpValueC.toString() );
+            } catch( IOException ex ) {
+                ex.printStackTrace();
+            }
 
-	    tmpNameC.recycle();
-	    tmpValueC.recycle();
+            tmpNameC.recycle();
+            tmpValueC.recycle();
 
-	} while( pos<end );
+        } while( pos<end );
     }
 
 

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/ServerCookie.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/ServerCookie.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/ServerCookie.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/mapper/Mapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/mapper/Mapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/mapper/Mapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/mapper/MappingData.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/mapper/MappingData.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/http/mapper/MappingData.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/log/CaptureLog.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/log/CaptureLog.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/log/CaptureLog.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/log/SystemLogHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/log/SystemLogHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/log/SystemLogHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/DefaultServerSocketFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/DefaultServerSocketFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/DefaultServerSocketFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/LeaderFollowerWorkerThread.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/LeaderFollowerWorkerThread.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/LeaderFollowerWorkerThread.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/MasterSlaveWorkerThread.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/MasterSlaveWorkerThread.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/MasterSlaveWorkerThread.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/PoolTcpEndpoint.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/PoolTcpEndpoint.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/PoolTcpEndpoint.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/SSLImplementation.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/SSLImplementation.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/SSLImplementation.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/SSLSupport.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/SSLSupport.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/SSLSupport.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/ServerSocketFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/ServerSocketFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/ServerSocketFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/TcpConnection.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/TcpConnection.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/TcpConnection.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/TcpConnectionHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/TcpConnectionHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/TcpConnectionHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/URL.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/URL.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/URL.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -40,7 +41,7 @@
  * package someplace.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 299472 $ $Date: 2004-06-19 19:08:15 -0500 (Sat, 19 Jun 2004) $
+ * @version $Revision: 466585 $ $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class URL implements Serializable {

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13Factory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13Factory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13Factory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13SocketFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13SocketFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE13SocketFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE14Factory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE14Factory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE14Factory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE14SocketFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE14SocketFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE14SocketFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE14Support.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE14Support.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE14Support.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE15Factory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE15Factory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE15Factory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE15SocketFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE15SocketFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSE15SocketFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSEFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSEFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSEFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSEKeyManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSEKeyManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSEKeyManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -204,7 +205,11 @@
         }
         String keystorePass = (String)attributes.get("keystorePass");
         if (keystorePass == null) {
-            keystorePass = keyPass;
+            // Bugzilla 38774: http://issues.apache.org/bugzilla/show_bug.cgi?id=38774
+            keystorePass = System.getProperty("javax.net.ssl.keyStorePassword");
+            if (keystorePass == null ) {
+                keystorePass = keyPass;
+            }
         }
         return keystorePass;
     }

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSESupport.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSESupport.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/jsse/JSSESupport.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSImplementation.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSImplementation.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSImplementation.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSSocket.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSSocket.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSSocket.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSSocketFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSSocketFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSSocketFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSSupport.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSSupport.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/net/puretls/PureTLSSupport.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/res/StringManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/res/StringManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/res/StringManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
@@ -41,7 +42,7 @@
  * <p>Please see the documentation for java.util.ResourceBundle for
  * more information.
  *
- * @version $Revision: 299753 $ $Date: 2004-08-29 12:14:42 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466585 $ $Date: 2006-10-21 16:16:34 -0600 (Sat, 21 Oct 2006) $
  *
  * @author James Duncan Davidson [duncan at eng.sun.com]
  * @author James Todd [gonzo at eng.sun.com]

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/Expirer.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/Expirer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/Expirer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/Reaper.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/Reaper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/Reaper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/ThreadPool.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/ThreadPool.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/ThreadPool.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2005 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/ThreadPoolRunnable.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/ThreadPoolRunnable.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/ThreadPoolRunnable.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/ThreadWithAttributes.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/ThreadWithAttributes.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/java/org/apache/tomcat/util/threads/ThreadWithAttributes.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/Loader.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/Loader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/Loader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/Module.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/Module.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/Module.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/ModuleClassLoader.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/ModuleClassLoader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/ModuleClassLoader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/ModuleListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/ModuleListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/ModuleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/Repository.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/Repository.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/Repository.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/RepositoryClassLoader.java
===================================================================
--- branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/RepositoryClassLoader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/connectors/util/loader/org/apache/tomcat/util/loader/RepositoryClassLoader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/build.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/build.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
 <project name="Catalina 2.0" default="deploy" basedir=".">
 
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/build.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/build.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
 <project name="Catalina" default="deploy" basedir=".">
 
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/bin/catalina-tasks.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/bin/catalina-tasks.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/bin/catalina-tasks.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -14,6 +14,7 @@
       <fileset file="${catalina.home}/common/lib/jasper-compiler.jar"/>
       <fileset file="${catalina.home}/common/lib/jasper-runtime.jar"/>
       <fileset file="${catalina.home}/common/lib/servlet-api.jar"/>
+      <fileset file="${catalina.home}/common/lib/jsp-api.jar"/>
       <fileset file="${catalina.home}/server/lib/catalina-ant.jar"/>
     </classpath>
   </taskdef>

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/bin/catalina.bat
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/bin/catalina.bat	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/bin/catalina.bat	2007-05-21 10:51:24 UTC (rev 3531)
@@ -12,7 +12,7 @@
 rem                   the same directory that CATALINA_HOME points to.
 rem
 rem   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
-rem                   "stop", or "run" command is executed.
+rem                   or "run" command is executed.
 rem
 rem   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
 rem                   the JVM should use (java.io.tmpdir).  Defaults to
@@ -37,7 +37,19 @@
 rem   JPDA_ADDRESS    (Optional) Java runtime options used when the "jpda start"
 rem                   command is executed. The default is "jdbconn".
 rem
-rem $Id: catalina.bat 355227 2005-12-08 21:44:16Z keith $
+rem   JPDA_SUSPEND    (Optional) Java runtime options used when the "jpda start"
+rem                   command is executed. Specifies whether JVM should suspend
+rem                   execution immediately after startup. Default is "n".
+rem
+rem   JPDA_OPTS       (Optional) Java runtime options used when the "jpda start"
+rem                   command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS,
+rem                   and JPDA_SUSPEND are ignored. Thus, all required jpda
+rem                   options MUST be specified. The default is:
+rem
+rem                   -Xdebug -Xrunjdwp:transport=%JPDA_TRANSPORT%,
+rem                       address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
+rem
+rem $Id: catalina.bat 498126 2007-01-20 15:38:39Z markt $
 rem ---------------------------------------------------------------------------
 
 rem Guess CATALINA_HOME if not defined
@@ -113,6 +125,12 @@
 if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
 set JPDA_ADDRESS=jdbconn
 :gotJpdaAddress
+if not "%JPDA_SUSPEND%" == "" goto gotJpdaSuspend
+set JPDA_SUSPEND=n
+:gotJpdaSuspend
+if not "%JPDA_OPTS%" == "" goto gotJpdaOpts
+set JPDA_OPTS=-Xdebug -Xrunjdwp:transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
+:gotJpdaOpts
 shift
 :noJpda
 
@@ -170,6 +188,7 @@
 :doStop
 shift
 set ACTION=stop
+set CATALINA_OPTS=
 goto execCmd
 
 :doVersion
@@ -197,10 +216,10 @@
 goto end
 :doJpda
 if not "%SECURITY_POLICY_FILE%" == "" goto doSecurityJpda
-%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% -Xdebug -Xrunjdwp:transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=n %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
 goto end
 :doSecurityJpda
-%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% -Xdebug -Xrunjdwp:transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=n %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
 goto end
 
 :end

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/bin/catalina.sh
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/bin/catalina.sh	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/bin/catalina.sh	2007-05-21 10:51:24 UTC (rev 3531)
@@ -11,7 +11,7 @@
 #                   the same directory that CATALINA_HOME points to.
 #
 #   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
-#                   "stop", or "run" command is executed.
+#                   or "run" command is executed.
 #
 #   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
 #                   the JVM should use (java.io.tmpdir).  Defaults to
@@ -32,6 +32,18 @@
 #   JPDA_ADDRESS    (Optional) Java runtime options used when the "jpda start"
 #                   command is executed. The default is 8000.
 #
+#   JPDA_SUSPEND    (Optional) Java runtime options used when the "jpda start"
+#                   command is executed. Specifies whether JVM should suspend
+#                   execution immediately after startup. Default is "n".
+#
+#   JPDA_OPTS       (Optional) Java runtime options used when the "jpda start"
+#                   command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS,
+#                   and JPDA_SUSPEND are ignored. Thus, all required jpda
+#                   options MUST be specified. The default is:
+#
+#                   -Xdebug -Xrunjdwp:transport=$JPDA_TRANSPORT,
+#                       address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND
+#
 #   JSSE_HOME       (Optional) May point at your Java Secure Sockets Extension
 #                   (JSSE) installation, whose JAR files will be added to the
 #                   system class path used to start Tomcat.
@@ -39,7 +51,7 @@
 #   CATALINA_PID    (Optional) Path of the file which should contains the pid
 #                   of catalina startup java process, when start (fork) is used
 #
-# $Id: catalina.sh 394120 2006-04-14 15:25:07Z yoavs $
+# $Id: catalina.sh 498126 2007-01-20 15:38:39Z markt $
 # -----------------------------------------------------------------------------
 
 # OS specific support.  $var _must_ be set to either true or false.
@@ -175,8 +187,11 @@
   if [ -z "$JPDA_ADDRESS" ]; then
     JPDA_ADDRESS="8000"
   fi
+  if [ -z "$JPDA_SUSPEND" ]; then
+    JPDA_SUSPEND="n"
+  fi
   if [ -z "$JPDA_OPTS" ]; then
-    JPDA_OPTS="-Xdebug -Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=n"
+    JPDA_OPTS="-Xdebug -Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"
   fi
   CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
   shift
@@ -277,7 +292,7 @@
     FORCE=1
   fi
 
-  "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
+  "$_RUNJAVA" $JAVA_OPTS \
     -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
     -Dcatalina.base="$CATALINA_BASE" \
     -Dcatalina.home="$CATALINA_HOME" \

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/conf/server.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/conf/server.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/conf/server.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -135,6 +135,14 @@
            example application (the source for this filter may be found in
            "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
 
+           Note that this Valve uses the platform's default character encoding.
+           This may cause problems for developers in another encoding, e.g.
+           UTF-8.  Use the RequestDumperFilter instead.
+
+           Also note that enabling this Valve will write a ton of stuff to your
+           logs.  They are likely to grow quite large.  This extensive log writing
+           will definitely slow down your server.
+
            Request dumping is disabled by default.  Uncomment the following
            element to enable it. -->
       <!--

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/conf/web.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/conf/web.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/conf/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -987,7 +987,7 @@
     </mime-mapping>
     <mime-mapping>
         <extension>svgz</extension>
-        <mime-type>image/svg</mime-type>
+        <mime-type>image/svg+xml</mime-type>
     </mime-mapping>
     <mime-mapping>
         <extension>swf</extension>

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Authenticator.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Authenticator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Authenticator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * of an already configured authentication service.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Authenticator {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Cluster.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Cluster.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Cluster.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  * @author Bip Thelin
  * @author Remy Maucherat
  * @author Filip Hanik
- * @version $Revision: 303857 $, $Date: 2005-04-15 15:15:45 -0500 (Fri, 15 Apr 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Cluster {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Contained.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Contained.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Contained.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  *
  * @author Craig R. McClanahan
  * @author Peter Donald
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Contained {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Container.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Container.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Container.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -77,7 +78,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 303037 $ $Date: 2004-07-27 02:17:21 -0500 (Tue, 27 Jul 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Container {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ContainerEvent.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ContainerEvent.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ContainerEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
  * General event for notifying listeners of significant changes on a Container.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class ContainerEvent

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ContainerListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ContainerListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ContainerListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * LifecycleEvents, not ContainerEvents.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface ContainerListener {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ContainerServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ContainerServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ContainerServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * this servlet is put into service.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface ContainerServlet {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Context.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Context.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Context.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -49,7 +50,7 @@
  * <p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303431 $ $Date: 2004-10-26 10:42:05 -0500 (Tue, 26 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Context extends Container {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Engine.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Engine.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Engine.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -40,7 +41,7 @@
  * should throw <code>IllegalArgumentException</code>.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303092 $ $Date: 2004-08-16 04:31:09 -0500 (Mon, 16 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Engine extends Container {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Globals.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Globals.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Globals.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
  * Global constants that are applicable to multiple packages within Catalina.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303495 $ $Date: 2004-11-19 00:07:56 -0600 (Fri, 19 Nov 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class Globals {
@@ -321,4 +322,12 @@
         "javax.servlet.context.tempdir";
 
 
+    /**
+     * The master flag which controls strict servlet specification 
+     * compliance.
+     */
+    public static final boolean STRICT_SERVLET_COMPLIANCE =
+        Boolean.valueOf(System.getProperty("org.apache.catalina.STRICT_SERVLET_COMPLIANCE", "false")).booleanValue();
+
+
 }

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Group.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Group.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Group.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * inherits the {@link Role}s assigned to the group.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Host.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Host.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Host.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -40,7 +41,7 @@
  * of Context (representing an individual servlet context).
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303092 $ $Date: 2004-08-16 04:31:09 -0500 (Mon, 16 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Host extends Container {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/InstanceEvent.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/InstanceEvent.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/InstanceEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  * as opposed to the Wrapper component that manages it.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class InstanceEvent

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/InstanceListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/InstanceListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/InstanceListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * is managing that instance.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface InstanceListener {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Lifecycle.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Lifecycle.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Lifecycle.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
  * provide a consistent mechanism to start and stop the component.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303352 $ $Date: 2004-10-05 12:12:52 -0500 (Tue, 05 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Lifecycle {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/LifecycleEvent.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/LifecycleEvent.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/LifecycleEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * Tomcat 3.x.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class LifecycleEvent

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/LifecycleException.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/LifecycleException.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/LifecycleException.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * operation of the application containing this component.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class LifecycleException extends Exception {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/LifecycleListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/LifecycleListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/LifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * Lifecycle interface.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface LifecycleListener {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Loader.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Loader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Loader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -49,7 +50,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303352 $ $Date: 2004-10-05 12:12:52 -0500 (Tue, 05 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Loader {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Manager.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Manager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Manager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -39,7 +40,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303682 $ $Date: 2005-02-07 15:56:32 -0600 (Mon, 07 Feb 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Manager {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Pipeline.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Pipeline.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Pipeline.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -35,7 +36,7 @@
  *
  * @author Craig R. McClanahan
  * @author Peter Donald
- * @version $Revision: 302978 $ $Date: 2004-06-23 11:59:42 -0500 (Wed, 23 Jun 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Pipeline {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Realm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Realm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Realm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -33,7 +34,7 @@
  * Container.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303352 $ $Date: 2004-10-05 12:12:52 -0500 (Tue, 05 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Realm {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Role.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Role.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Role.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * environments like JAAS that want to deal with <code>Principals</code>.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Server.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Server.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Server.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -41,7 +42,7 @@
  * class in its constructor(s).
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302899 $ $Date: 2004-05-26 10:29:30 -0500 (Wed, 26 May 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Server {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ServerFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ServerFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ServerFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * that are built around the internal component implementation classes.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ServerFactory {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Service.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Service.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Service.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  * and classes on the system class path.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302975 $ $Date: 2004-06-23 03:25:04 -0500 (Wed, 23 Jun 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Service {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Session.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Session.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Session.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  * between requests for a particular user of a web application.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 384817 $ $Date: 2006-03-10 09:27:43 -0600 (Fri, 10 Mar 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Session {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/SessionEvent.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/SessionEvent.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/SessionEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
  * General event for notifying listeners of significant changes on a Session.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class SessionEvent

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/SessionListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/SessionListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/SessionListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * Interface defining a listener for significant Session generated events.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface SessionListener {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Store.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Store.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Store.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  * server or context restarts.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Store {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/User.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/User.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/User.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * of specific {@link Role}s.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/UserDatabase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/UserDatabase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/UserDatabase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * referenced by a {@link Realm} for authentication and access control.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Valve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Valve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Valve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -38,7 +39,7 @@
  * @author Craig R. McClanahan
  * @author Gunnar Rjnning
  * @author Peter Donald
- * @version $Revision: 303352 $ $Date: 2004-10-05 12:12:52 -0500 (Tue, 05 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Valve {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Wrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Wrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/Wrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -43,7 +44,7 @@
  * <code>IllegalArgumentException</code>.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303442 $ $Date: 2004-10-27 17:58:17 -0500 (Wed, 27 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Wrapper extends Container {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/AbstractCatalinaTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/AbstractCatalinaTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/AbstractCatalinaTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -35,7 +36,7 @@
  * undeploying applications.  These tasks require Ant 1.4 or later.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303657 $ $Date: 2005-01-22 10:34:47 -0600 (Sat, 22 Jan 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/BaseRedirectorHelperTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/BaseRedirectorHelperTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/BaseRedirectorHelperTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -45,7 +46,7 @@
  * 
  *
  * @author Gabriele Garuglieri
- * @version $Revision: 303609 $ $Date: 2005-01-03 10:21:21 -0600 (Mon, 03 Jan 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 5.5
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/DeployTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/DeployTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/DeployTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -34,7 +35,7 @@
  * the Tomcat manager application.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303657 $ $Date: 2005-01-22 10:34:47 -0600 (Sat, 22 Jan 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 public class DeployTask extends AbstractCatalinaTask {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/InstallTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/InstallTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/InstallTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * Tomcat manager application.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  * @deprecated Replaced by DeployTask
  */

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JKStatusUpdateTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JKStatusUpdateTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JKStatusUpdateTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * mod_jk status (1.2.9) application.
  * 
  * @author Peter Rossbach
- * @version $Revision: 303886 $
+ * @version $Revision: 466608 $
  * @since 5.5.9
  */
 public class JKStatusUpdateTask extends AbstractCatalinaTask {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JMXGetTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JMXGetTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JMXGetTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * supported by the Tomcat manager application.
  *
  * @author Peter Rossbach
- * @version $Revision: 303880 $
+ * @version $Revision: 466608 $
  */
 public class JMXGetTask extends AbstractCatalinaTask {
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JMXQueryTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JMXQueryTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JMXQueryTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * (<code>/jmxproxy/?qry</code>) supported by the Tomcat manager application.
  *
  * @author Vivek Chopra
- * @version $Revision: 303236 $
+ * @version $Revision: 466608 $
  */
 public class JMXQueryTask extends AbstractCatalinaTask {
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JMXSetTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JMXSetTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/JMXSetTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * supported by the Tomcat manager application.
  *
  * @author Vivek Chopra
- * @version $Revision: 303236 $
+ * @version $Revision: 466608 $
  */
 public class JMXSetTask extends AbstractCatalinaTask {
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ListTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ListTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ListTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * Tomcat manager application.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 public class ListTask extends AbstractCatalinaTask {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ReloadTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ReloadTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ReloadTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * Tomcat manager application.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303657 $ $Date: 2005-01-22 10:34:47 -0600 (Sat, 22 Jan 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 public class ReloadTask extends AbstractCatalinaTask {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/RemoveTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/RemoveTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/RemoveTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * Tomcat manager application.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @deprecated Replaced by UndeployTask
  */
 public class RemoveTask extends AbstractCatalinaTask {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ResourcesTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ResourcesTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ResourcesTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * the Tomcat manager application.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 public class ResourcesTask extends AbstractCatalinaTask {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/RolesTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/RolesTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/RolesTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * Tomcat manager application.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 public class RolesTask extends AbstractCatalinaTask {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ServerinfoTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ServerinfoTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ServerinfoTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * supported by the Tomcat manager application.
  *
  * @author Vivek Chopra
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class ServerinfoTask extends AbstractCatalinaTask {
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/SessionsTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/SessionsTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/SessionsTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * supported by the Tomcat manager application.
  *
  * @author Vivek Chopra
- * @version $Revision: 303657 $
+ * @version $Revision: 466608 $
  */
 public class SessionsTask extends AbstractCatalinaTask {
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/StartTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/StartTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/StartTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * Tomcat manager application.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303657 $ $Date: 2005-01-22 10:34:47 -0600 (Sat, 22 Jan 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 public class StartTask extends AbstractCatalinaTask {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/StopTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/StopTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/StopTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * Tomcat manager application.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303657 $ $Date: 2005-01-22 10:34:47 -0600 (Sat, 22 Jan 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 public class StopTask extends AbstractCatalinaTask {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/UndeployTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/UndeployTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/UndeployTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * the Tomcat manager application.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303609 $ $Date: 2005-01-03 10:21:21 -0600 (Mon, 03 Jan 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 public class UndeployTask extends AbstractCatalinaTask {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ValidatorTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ValidatorTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/ValidatorTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -35,7 +36,7 @@
  * schema validation.
  *
  * @author Remy Maucherat
- * @version $Revision: 303609 $ $Date: 2005-01-03 10:21:21 -0600 (Mon, 03 Jan 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 5.0
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/Arg.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/Arg.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/Arg.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 /**
  *
  * @author Peter Rossbach
- * @version $Revision: 441172 $ $Date: 2006-09-07 13:38:07 -0500 (Thu, 07 Sep 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 5.5.10
  */
 public class Arg {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorCondition.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorCondition.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorCondition.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -85,7 +86,7 @@
  * <b>NOTE</b>:  For numeric expressions the type must be set and use xml entities as operations.<br/>
  * As type we currently support <em>long</em> and <em>double</em>.
  * @author Peter Rossbach
- * @version $Revision: 304032 $ $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 5.5.10
  *
  */

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -54,7 +55,7 @@
  * These tasks require Ant 1.6 or later interface.
  *
  * @author Peter Rossbach
- * @version $Revision: 304089 $
+ * @version $Revision: 466608 $
  * @since 5.5.12
  */
 public class JMXAccessorCreateTask extends JMXAccessorTask {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorEqualsCondition.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorEqualsCondition.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorEqualsCondition.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -64,7 +65,7 @@
  * </pre>
  * 
  * @author Peter Rossbach
- * @version $Revision: 304032 $ $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 5.5.10
  *
  */

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorGetTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorGetTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorGetTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -51,7 +52,7 @@
  * These tasks require Ant 1.6 or later interface.
  *
  * @author Peter Rossbach
- * @version $Revision: 304032 $ $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 5.5.10
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorInvokeTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorInvokeTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorInvokeTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -86,7 +87,7 @@
  * These tasks require Ant 1.6 or later interface.
  *
  * @author Peter Rossbach
- * @version $Revision: 304013 $ $Date: 2005-07-22 06:39:08 -0500 (Fri, 22 Jul 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 5.5.10
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorQueryTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorQueryTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorQueryTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -55,7 +56,7 @@
  * These tasks require Ant 1.6 or later interface.
  *
  * @author Peter Rossbach
- * @version $Revision: 304089 $ $Date: 2005-09-14 08:28:29 -0500 (Wed, 14 Sep 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 5.5.10
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorSetTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorSetTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorSetTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -79,7 +80,7 @@
  * These tasks require Ant 1.6 or later interface.
  *
  * @author Peter Rossbach
- * @version $Revision: 441172 $ $Date: 2006-09-07 13:38:07 -0500 (Thu, 07 Sep 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 5.5.10
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -84,7 +85,7 @@
  * </b>: These tasks require Ant 1.6 or later interface.
  * 
  * @author Peter Rossbach
- * @version $Revision: 304089 $ $Date: 2005-09-14 08:28:29 -0500 (Wed, 14 Sep 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 5.5.10
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorUnregisterTask.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorUnregisterTask.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorUnregisterTask.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -15,9 +16,6 @@
  */
 package org.apache.catalina.ant.jmx;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import javax.management.MBeanServerConnection;
 import javax.management.ObjectName;
 
@@ -49,7 +47,7 @@
  * These tasks require Ant 1.6 or later interface.
  *
  * @author Peter Rossbach
- * @version $Revision: 304089 $
+ * @version $Revision: 466608 $
  * @since 5.5.12
  */
 public class JMXAccessorUnregisterTask extends JMXAccessorTask {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -69,7 +70,7 @@
  * requests.  Requests of any other type will simply be passed through.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 357143 $ $Date: 2005-12-16 02:13:19 -0600 (Fri, 16 Dec 2005) $
+ * @version $Revision: 496025 $ $Date: 2007-01-13 20:18:06 -0700 (Sat, 13 Jan 2007) $
  */
 
 
@@ -702,9 +703,12 @@
                             Principal principal, String authType,
                             String username, String password) {
 
-        if (log.isDebugEnabled())
-            log.debug("Authenticated '" + principal.getName() + "' with type '"
+        if (log.isDebugEnabled()) {
+            // Bugzilla 39255: http://issues.apache.org/bugzilla/show_bug.cgi?id=39255
+            String name = (principal == null) ? "none" : principal.getName();
+            log.debug("Authenticated '" + name + "' with type '"
                 + authType + "'");
+        }
 
         // Cache the authentication information in our request
         request.setAuthType(authType);
@@ -742,6 +746,9 @@
             cookie.setMaxAge(-1);
             cookie.setPath("/");
             
+            // Bugzilla 41217
+            cookie.setSecure(request.isSecure());
+            
             // Bugzilla 34724
             String ssoDomain = sso.getCookieDomain();
             if(ssoDomain != null) {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/BasicAuthenticator.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/BasicAuthenticator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/BasicAuthenticator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -41,7 +42,7 @@
  * and Digest Access Authentication."
  *
  * @author Craig R. McClanahan
- * @version $Revision: 370985 $ $Date: 2006-01-20 23:21:15 -0600 (Fri, 20 Jan 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class BasicAuthenticator

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
 
     // Authentication methods for login configuration
     public static final String BASIC_METHOD = "BASIC";
-    public static final String CERT_METHOD = "CLIENT-CERT";
+    public static final String CERT_METHOD = "CLIENT_CERT";
     public static final String DIGEST_METHOD = "DIGEST";
     public static final String FORM_METHOD = "FORM";
 
@@ -54,7 +55,7 @@
      * or not any user has been authenticated:</p>
      * <ul>
      * <li><strong>request.getAuthType()</strong>
-     *     will return BASIC, CLIENT-CERT, DIGEST, FORM, or <code>null</code>
+     *     will return BASIC, CLIENT_CERT, DIGEST, FORM, or <code>null</code>
      *     if there is no authenticated user.</li>
      * <li><strong>request.getUserPrincipal()</strong>
      *     will return the authenticated <code>Principal</code> returned by the

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/DigestAuthenticator.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/DigestAuthenticator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/DigestAuthenticator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -43,7 +44,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 370985 $ $Date: 2006-01-20 23:21:15 -0600 (Fri, 20 Jan 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class DigestAuthenticator

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -49,7 +50,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 320670 $ $Date: 2005-10-13 00:39:55 -0500 (Thu, 13 Oct 2005) $
+ * @version $Revision: 506433 $ $Date: 2007-02-12 05:29:23 -0700 (Mon, 12 Feb 2007) $
  */
 
 public class FormAuthenticator
@@ -367,7 +368,7 @@
       String requestURI = request.getRequestURI();
       if (requestURI == null)
           return (false);
-      return (requestURI.equals(request.getRequestURI()));
+      return (requestURI.equals(sreq.getRequestURI()));
 
     }
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/NonLoginAuthenticator.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/NonLoginAuthenticator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/NonLoginAuthenticator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  * only security constraints not involving user authentication.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303721 $ $Date: 2005-02-23 13:27:56 -0600 (Wed, 23 Feb 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class NonLoginAuthenticator

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SSLAuthenticator.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SSLAuthenticator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SSLAuthenticator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -37,8 +38,11 @@
  * An <b>Authenticator</b> and <b>Valve</b> implementation of authentication
  * that utilizes SSL certificates to identify client users.
  *
+ * You will likely want to read the SSL HowTo in the Tomcat documentation:
+ * http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html
+ *
  * @author Craig R. McClanahan
- * @version $Revision: 303721 $ $Date: 2005-02-23 13:27:56 -0600 (Wed, 23 Feb 2005) $
+ * @version $Revision: 496089 $ $Date: 2007-01-14 08:29:10 -0700 (Sun, 14 Jan 2007) $
  */
 
 public class SSLAuthenticator
@@ -101,7 +105,7 @@
 
         // NOTE: We don't try to reauthenticate using any existing SSO session,
         // because that will only work if the original authentication was
-        // BASIC or FORM, which are less secure than the CLIENT-CERT auth-type
+        // BASIC or FORM, which are less secure than the CLIENT_CERT auth-type
         // specified for this webapp
         //
         // Uncomment below to allow previous FORM or BASIC authentications

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SavedRequest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SavedRequest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SavedRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -38,7 +39,7 @@
  * internal collection classes is performed.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303925 $ $Date: 2005-05-11 16:39:41 -0500 (Wed, 11 May 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class SavedRequest {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SingleSignOn.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SingleSignOn.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SingleSignOn.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -58,7 +59,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 384817 $ $Date: 2006-03-10 09:27:43 -0600 (Fri, 10 Mar 2006) $
+ * @version $Revision: 496089 $ $Date: 2007-01-14 08:29:10 -0700 (Sun, 14 Jan 2007) $
  */
 
 public class SingleSignOn
@@ -615,7 +616,7 @@
      * <p>
      * The purpose of this method is to allow an SSO entry that was
      * established without a username/password combination (i.e. established
-     * following DIGEST or CLIENT-CERT authentication) to be updated with
+     * following DIGEST or CLIENT_CERT authentication) to be updated with
      * a username and password if one becomes available through a subsequent
      * BASIC or FORM authentication.  The SSO entry will then be usable for
      * reauthentication.
@@ -629,7 +630,7 @@
      * @param ssoId     identifier of Single sign to be updated
      * @param principal the <code>Principal</code> returned by the latest
      *                  call to <code>Realm.authenticate</code>.
-     * @param authType  the type of authenticator used (BASIC, CLIENT-CERT,
+     * @param authType  the type of authenticator used (BASIC, CLIENT_CERT,
      *                  DIGEST or FORM)
      * @param username  the username (if any) used for the authentication
      * @param password  the password (if any) used for the authentication

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SingleSignOnEntry.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SingleSignOnEntry.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/authenticator/SingleSignOnEntry.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  * reauthentications when SingleSignOn is in use.
  *
  * @author  B Stansberry, based on work by Craig R. McClanahan
- * @version $Revision: 302885 $
+ * @version $Revision: 497501 $
  *
  * @see SingleSignOn
  * @see AuthenticatorBase#reauthenticateFromSSO
@@ -55,7 +56,7 @@
      *
      * @param principal the <code>Principal</code> returned by the latest
      *                  call to <code>Realm.authenticate</code>.
-     * @param authType  the type of authenticator used (BASIC, CLIENT-CERT,
+     * @param authType  the type of authenticator used (BASIC, CLIENT_CERT,
      *                  DIGEST or FORM)
      * @param username  the username (if any) used for the authentication
      * @param password  the password (if any) used for the authentication
@@ -115,10 +116,25 @@
     }
 
     /**
+     * Is <code>Session</code> associated with this SSO?
+     *
+     * @param sso       The <code>SingleSignOn</code> valve that is managing
+     *                  the SSO session.
+     * @return session exists
+     */
+    public synchronized boolean sessionExists(Session session) {
+        for (int i = 0; i < sessions.length; i++) {
+            if (session == sessions[i])
+                return true;
+        }
+        return false ;
+    }
+
+    /**
      * Gets the name of the authentication type originally used to authenticate
      * the user associated with the SSO.
      *
-     * @return "BASIC", "CLIENT-CERT", "DIGEST", "FORM" or "NONE"
+     * @return "BASIC", "CLIENT_CERT", "DIGEST", "FORM" or "NONE"
      */
     public String getAuthType() {
         return (this.authType);
@@ -169,7 +185,7 @@
      *
      * @param principal the <code>Principal</code> returned by the latest
      *                  call to <code>Realm.authenticate</code>.
-     * @param authType  the type of authenticator used (BASIC, CLIENT-CERT,
+     * @param authType  the type of authenticator used (BASIC, CLIENT_CERT,
      *                  DIGEST or FORM)
      * @param username  the username (if any) used for the authentication
      * @param password  the password (if any) used for the authentication

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/ClientAbortException.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/ClientAbortException.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/ClientAbortException.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * of a request by a remote client.
  *
  * @author Glenn L. Nielsen
- * @version $Revision: 304063 $ $Date: 2005-08-18 08:25:18 -0500 (Thu, 18 Aug 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class ClientAbortException extends IOException {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Connector.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Connector.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Connector.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -48,7 +49,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 349505 $ $Date: 2005-11-28 15:14:21 -0600 (Mon, 28 Nov 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteAdapter.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteAdapter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteAdapter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -41,7 +42,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 426355 $ $Date: 2006-07-27 20:32:57 -0500 (Thu, 27 Jul 2006) $
+ * @version $Revision: 507117 $ $Date: 2007-02-13 10:47:21 -0700 (Tue, 13 Feb 2007) $
  */
 
 public class CoyoteAdapter
@@ -49,6 +50,8 @@
  {
     private static Log log = LogFactory.getLog(CoyoteAdapter.class);
 
+    protected static final boolean ALLOW_BACKSLASH = 
+        Boolean.valueOf(System.getProperty("org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH", "false")).booleanValue();
     // -------------------------------------------------------------- Constants
 
 
@@ -225,8 +228,8 @@
                 req.getURLDecoder().convert(decodedURI, false);
             } catch (IOException ioe) {
                 res.setStatus(400);
-                res.setMessage("Invalid URI");
-                throw ioe;
+                res.setMessage("Invalid URI: " + ioe.getMessage());
+                return false;
             }
             // Normalization
             if (!normalize(req.decodedURI())) {
@@ -514,8 +517,13 @@
         // Replace '\' with '/'
         // Check for null byte
         for (pos = start; pos < end; pos++) {
-            if (b[pos] == (byte) '\\')
-                b[pos] = (byte) '/';
+            if (b[pos] == (byte) '\\') {
+                if (ALLOW_BACKSLASH) {
+                    b[pos] = (byte) '/';
+                } else {
+                    return false;
+                }
+            }
             if (b[pos] == (byte) 0)
                 return false;
         }

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteInputStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteInputStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteInputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteOutputStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteOutputStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteOutputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyotePrincipal.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyotePrincipal.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyotePrincipal.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * is used to represent principals authenticated at the protocol handler level.
  *
  * @author Remy Maucherat
- * @version $Revision: 302975 $ $Date: 2004-06-23 03:25:04 -0500 (Wed, 23 Jun 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class CoyotePrincipal 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteReader.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteReader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteReader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteWriter.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteWriter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/CoyoteWriter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/InputBuffer.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/InputBuffer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/InputBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -79,30 +80,12 @@
 
 
     /**
-     * Number of bytes read.
-     */
-    private int bytesRead = 0;
-
-
-    /**
-     * Number of chars read.
-     */
-    private int charsRead = 0;
-
-
-    /**
      * Flag which indicates if the input buffer is closed.
      */
     private boolean closed = false;
 
 
     /**
-     * Byte chunk used to input bytes.
-     */
-    private ByteChunk inputChunk = new ByteChunk();
-
-
-    /**
      * Encoding to use.
      */
     private String enc;
@@ -186,7 +169,7 @@
      * @param coyoteRequest Associated Coyote request
      */
     public void setRequest(Request coyoteRequest) {
-	this.coyoteRequest = coyoteRequest;
+        this.coyoteRequest = coyoteRequest;
     }
 
 
@@ -209,8 +192,6 @@
     public void recycle() {
         
         state = INITIAL_STATE;
-        bytesRead = 0;
-        charsRead = 0;
         
         // If usage of mark made the buffer too big, reallocate it
         if (cb.getChars().length > size) {
@@ -272,7 +253,7 @@
      * @throws IOException An underlying IOException occurred
      */
     public int realReadBytes(byte cbuf[], int off, int len)
-	throws IOException {
+        throws IOException {
 
         if (closed)
             return -1;
@@ -340,7 +321,7 @@
 
         int limit = bb.getLength()+cb.getStart();
         if( cb.getLimit() < limit ) 
-	    cb.setLimit(limit);
+            cb.setLimit(limit);
         conv.convert(bb, cb);
         bb.setOffset(bb.getEnd());
         state = CHAR_STATE;

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/LocalStrings.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/LocalStrings.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -46,6 +46,7 @@
 coyoteRequest.listenerStart=Exception sending context initialized event to listener instance of class {0}
 coyoteRequest.listenerStop=Exception sending context destroyed event to listener instance of class {0}
 coyoteRequest.attributeEvent=Exception thrown by attributes event listener
+coyoteRequest.parseParameters=Exception thrown whilst processing POSTed parameters
 coyoteRequest.postTooLarge=Parameters were not parsed because the size of the posted data was too big. Use the maxPostSize attribute of the connector to resolve this if the application should accept large POSTs.
 requestFacade.nullRequest=Null request object
 responseFacade.nullResponse=Null response object

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/MapperListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/MapperListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/MapperListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/OutputBuffer.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/OutputBuffer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/OutputBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,6 @@
 import java.security.PrivilegedExceptionAction;
 import java.util.HashMap;
 
-import org.apache.catalina.security.SecurityUtil;
 import org.apache.coyote.ActionCode;
 import org.apache.coyote.Response;
 import org.apache.tomcat.util.buf.ByteChunk;

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Request.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Request.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Request.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -76,7 +77,7 @@
  *
  * @author Remy Maucherat
  * @author Craig R. McClanahan
- * @version $Revision: 390187 $ $Date: 2006-03-30 11:40:57 -0600 (Thu, 30 Mar 2006) $
+ * @version $Revision: 486929 $ $Date: 2006-12-13 19:07:32 -0700 (Wed, 13 Dec 2006) $
  */
 
 public class Request
@@ -160,6 +161,12 @@
 
 
     /**
+     * The pattern to match locale language and country components against
+     */
+    protected static String localeRegex = "[a-zA-Z]{1,8}";
+
+
+    /**
      * The default Locale if none are specified.
      */
     protected static Locale defaultLocale = Locale.getDefault();
@@ -2374,7 +2381,8 @@
                     parameters.processParameters(formData, 0, len);
                 }
             } catch (Throwable t) {
-                ; // Ignore
+                context.getLogger().warn
+                    (sm.getString("coyoteRequest.parseParameters"), t);
             }
         }
 
@@ -2495,6 +2503,9 @@
                     variant = "";
                 }
             }
+            if (!isAlpha(language) || !isAlpha(country) || !isAlpha(variant)) {
+                continue;
+            }
 
             // Add a new Locale to the list of Locales for this quality level
             Locale locale = new Locale(language, country, variant);
@@ -2523,5 +2534,14 @@
 
     }
 
+    protected static final boolean isAlpha(String value) {
+        for (int i = 0; i < value.length(); i++) {
+            char c = value.charAt(i);
+            if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))) {
+                return false;
+            }
+        }
+        return true;
+    }
 
 }

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/RequestFacade.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/RequestFacade.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/RequestFacade.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -43,7 +44,7 @@
  * @author Craig R. McClanahan
  * @author Remy Maucherat
  * @author Jean-Francois Arcand
- * @version $Revision: 303900 $ $Date: 2005-04-29 17:22:29 -0500 (Fri, 29 Apr 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class RequestFacade implements HttpServletRequest {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Response.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Response.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/Response.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -57,7 +58,7 @@
  *
  * @author Remy Maucherat
  * @author Craig R. McClanahan
- * @version $Revision: 371866 $ $Date: 2006-01-24 02:52:54 -0600 (Tue, 24 Jan 2006) $
+ * @version $Revision: 486569 $ $Date: 2006-12-13 02:50:09 -0700 (Wed, 13 Dec 2006) $
  */
 
 public class Response
@@ -129,8 +130,9 @@
      */
     public void setConnector(Connector connector) {
         this.connector = connector;
-        if("AJP/1.3".equals(connector.getProtocol())) {
+        if ("AJP/1.3".equals(connector.getProtocol())) {
             // default size to size of one ajp-packet
+            // Reduce HSIZE and Command = 6 Bytes
             outputBuffer = new OutputBuffer(8184);
         } else {
             outputBuffer = new OutputBuffer();

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/ResponseFacade.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/ResponseFacade.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/ResponseFacade.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -38,7 +39,7 @@
  *
  * @author Remy Maucherat
  * @author Jean-Francois Arcand
- * @version $Revision: 303900 $ $Date: 2005-04-29 17:22:29 -0500 (Fri, 29 Apr 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class ResponseFacade 
     implements HttpServletResponse {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/mbeans-descriptors.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/mbeans-descriptors.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/connector/mbeans-descriptors.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -171,6 +171,18 @@
            description="The thread priority for processors"
                   type="int"/>
 
+    <attribute   name="trustStoreFile"
+          description="Pathname to the trust store file to be used"
+                 type="java.lang.String"/>
+
+    <attribute   name="trustStorePass"
+          description="Password for accessing the trust store file"
+                 type="java.lang.String"/>
+
+    <attribute   name="trustStoreType"
+          description="Type of trust store file to be used for trusted certificates"
+                 type="java.lang.String"/>
+
     <attribute   name="URIEncoding"
           description="Character encoding used to decode the URI"
                  type="java.lang.String"/>

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -59,7 +60,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 391138 $ $Date: 2006-04-03 15:18:47 -0500 (Mon, 03 Apr 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ApplicationContext

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -44,7 +45,7 @@
  *
  * @author Remy Maucherat
  * @author Jean-Francois Arcand
- * @version $Revision: 377994 $ $Date: 2006-02-15 06:37:28 -0600 (Wed, 15 Feb 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class ApplicationContextFacade
@@ -365,30 +366,10 @@
     /**
      * Use reflection to invoke the requested method. Cache the method object 
      * to speed up the process
-     * @param appContext The AppliationContext object on which the method
      *                   will be invoked
      * @param methodName The method to call.
      * @param params The arguments passed to the called method.
      */
-    private Object doPrivileged(ApplicationContext appContext,
-                                final String methodName, 
-                                final Object[] params) {
-        try{
-            return invokeMethod(appContext, methodName, params );
-        } catch (Throwable t){
-            throw new RuntimeException(t.getMessage());
-        }
-
-    }
-
-
-    /**
-     * Use reflection to invoke the requested method. Cache the method object 
-     * to speed up the process
-     *                   will be invoked
-     * @param methodName The method to call.
-     * @param params The arguments passed to the called method.
-     */
     private Object doPrivileged(final String methodName, final Object[] params){
         try{
             return invokeMethod(context, methodName, params);

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -60,7 +61,7 @@
  * <code>javax.servlet.ServletResponseWrapper</code>.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303947 $ $Date: 2005-06-09 00:50:26 -0500 (Thu, 09 Jun 2005) $
+ * @version $Revision: 491354 $ $Date: 2006-12-30 17:32:47 -0700 (Sat, 30 Dec 2006) $
  */
 
 final class ApplicationDispatcher
@@ -99,6 +100,48 @@
         }
     }
 
+    
+    /**
+     * Used to pass state when the request dispatcher is used. Using instance
+     * variables causes threading issues and state is too complex to pass and
+     * return single ServletRequest or ServletResponse objects.
+     */
+    private class State {
+        State(ServletRequest request, ServletResponse response,
+                boolean including) {
+            this.outerRequest = request;
+            this.outerResponse = response;
+            this.including = including;
+        }
+
+        /**
+         * The outermost request that will be passed on to the invoked servlet.
+         */
+        ServletRequest outerRequest = null;
+
+
+        /**
+         * The outermost response that will be passed on to the invoked servlet.
+         */
+        ServletResponse outerResponse = null;
+        
+        /**
+         * The request wrapper we have created and installed (if any).
+         */
+        ServletRequest wrapRequest = null;
+
+
+        /**
+         * The response wrapper we have created and installed (if any).
+         */
+        ServletResponse wrapResponse = null;
+        
+        /**
+         * Are we performing an include() instead of a forward()?
+         */
+        boolean including = false;
+    }
+
     // ----------------------------------------------------------- Constructors
 
 
@@ -130,7 +173,6 @@
         this.context = (Context) wrapper.getParent();
         this.requestURI = requestURI;
         this.servletPath = servletPath;
-        this.origServletPath = servletPath;
         this.pathInfo = pathInfo;
         this.queryString = queryString;
         this.name = name;
@@ -152,30 +194,12 @@
     private static Log log = LogFactory.getLog(ApplicationDispatcher.class);
 
     /**
-     * The request specified by the dispatching application.
-     */
-    private ServletRequest appRequest = null;
-
-
-    /**
-     * The response specified by the dispatching application.
-     */
-    private ServletResponse appResponse = null;
-
-
-    /**
      * The Context this RequestDispatcher is associated with.
      */
     private Context context = null;
 
 
     /**
-     * Are we performing an include() instead of a forward()?
-     */
-    private boolean including = false;
-
-
-    /**
      * Descriptive information about this implementation.
      */
     private static final String info =
@@ -189,18 +213,6 @@
 
 
     /**
-     * The outermost request that will be passed on to the invoked servlet.
-     */
-    private ServletRequest outerRequest = null;
-
-
-    /**
-     * The outermost response that will be passed on to the invoked servlet.
-     */
-    private ServletResponse outerResponse = null;
-
-
-    /**
      * The extra path information for this RequestDispatcher.
      */
     private String pathInfo = null;
@@ -217,12 +229,12 @@
      */
     private String requestURI = null;
 
+
     /**
      * The servlet path for this RequestDispatcher.
      */
     private String servletPath = null;
 
-    private String origServletPath = null;
     
     /**
      * The StringManager for this package.
@@ -245,18 +257,6 @@
     private Wrapper wrapper = null;
 
 
-    /**
-     * The request wrapper we have created and installed (if any).
-     */
-    private ServletRequest wrapRequest = null;
-
-
-    /**
-     * The response wrapper we have created and installed (if any).
-     */
-    private ServletResponse wrapResponse = null;
-
-
     // ------------------------------------------------------------- Properties
 
 
@@ -322,7 +322,12 @@
         }
 
         // Set up to handle the specified request and response
-        setup(request, response, false);
+        State state = new State(request, response, false);
+        
+        if (Globals.STRICT_SERVLET_COMPLIANCE) {
+            // Check SRV.8.2 / SRV.14.2.5.1 compliance
+            checkSameObjects(request, response);
+        }
 
         // Identify the HTTP-specific request and response objects (if any)
         HttpServletRequest hrequest = null;
@@ -338,7 +343,7 @@
             if ( log.isDebugEnabled() )
                 log.debug(" Non-HTTP Forward");
             
-            processRequest(hrequest,hresponse);
+            processRequest(hrequest,hresponse,state);
 
         }
 
@@ -349,17 +354,17 @@
                 log.debug(" Named Dispatcher Forward");
             
             ApplicationHttpRequest wrequest =
-                (ApplicationHttpRequest) wrapRequest();
+                (ApplicationHttpRequest) wrapRequest(state);
             wrequest.setRequestURI(hrequest.getRequestURI());
             wrequest.setContextPath(hrequest.getContextPath());
             wrequest.setServletPath(hrequest.getServletPath());
             wrequest.setPathInfo(hrequest.getPathInfo());
             wrequest.setQueryString(hrequest.getQueryString());
 
-            processRequest(request,response);
+            processRequest(request,response,state);
 
             wrequest.recycle();
-            unwrapRequest();
+            unwrapRequest(state);
 
         }
 
@@ -370,7 +375,7 @@
                 log.debug(" Path Based Forward");
 
             ApplicationHttpRequest wrequest =
-                (ApplicationHttpRequest) wrapRequest();
+                (ApplicationHttpRequest) wrapRequest(state);
             String contextPath = context.getPath();
 
             if (hrequest.getAttribute(Globals.FORWARD_REQUEST_URI_ATTR) == null) {
@@ -395,10 +400,10 @@
                 wrequest.setQueryParams(queryString);
             }
 
-            processRequest(request,response);
+            processRequest(request,response,state);
 
             wrequest.recycle();
-            unwrapRequest();
+            unwrapRequest(state);
 
         }
 
@@ -447,22 +452,23 @@
      * @exception ServletException if a servlet error occurs
      */
     private void processRequest(ServletRequest request, 
-                                ServletResponse response)
+                                ServletResponse response,
+                                State state)
         throws IOException, ServletException {
                 
         Integer disInt = (Integer) request.getAttribute
             (ApplicationFilterFactory.DISPATCHER_TYPE_ATTR);
         if (disInt != null) {
             if (disInt.intValue() != ApplicationFilterFactory.ERROR) {
-                outerRequest.setAttribute
+                state.outerRequest.setAttribute
                     (ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR,
-                     origServletPath);
-                outerRequest.setAttribute
+                     servletPath);
+                state.outerRequest.setAttribute
                     (ApplicationFilterFactory.DISPATCHER_TYPE_ATTR,
                      new Integer(ApplicationFilterFactory.FORWARD));
-                invoke(outerRequest, response);
+                invoke(state.outerRequest, response, state);
             } else {
-                invoke(outerRequest, response);
+                invoke(state.outerRequest, response, state);
             }
         }
 
@@ -504,11 +510,16 @@
         throws ServletException, IOException
     {
         // Set up to handle the specified request and response
-        setup(request, response, true);
+        State state = new State(request, response, true);
 
+        if (Globals.STRICT_SERVLET_COMPLIANCE) {
+            // Check SRV.8.2 / SRV.14.2.5.1 compliance
+            checkSameObjects(request, response);
+        }
+        
         // Create a wrapped response to use for this request
         // ServletResponse wresponse = null;
-        ServletResponse wresponse = wrapResponse();
+        wrapResponse(state);
 
         // Handle a non-HTTP include
         if (!(request instanceof HttpServletRequest) ||
@@ -516,10 +527,13 @@
 
             if ( log.isDebugEnabled() )
                 log.debug(" Non-HTTP Include");
-            request.setAttribute(ApplicationFilterFactory.DISPATCHER_TYPE_ATTR,
-                                             new Integer(ApplicationFilterFactory.INCLUDE));
-            request.setAttribute(ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, origServletPath);
-            invoke(request, outerResponse);
+            request.setAttribute(
+                    ApplicationFilterFactory.DISPATCHER_TYPE_ATTR,
+                    new Integer(ApplicationFilterFactory.INCLUDE));
+            request.setAttribute(
+                    ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR,
+                    servletPath);
+            invoke(request, state.outerResponse, state);
         }
 
         // Handle an HTTP named dispatcher include
@@ -529,14 +543,17 @@
                 log.debug(" Named Dispatcher Include");
 
             ApplicationHttpRequest wrequest =
-                (ApplicationHttpRequest) wrapRequest();
+                (ApplicationHttpRequest) wrapRequest(state);
             wrequest.setAttribute(Globals.NAMED_DISPATCHER_ATTR, name);
             if (servletPath != null)
                 wrequest.setServletPath(servletPath);
-            wrequest.setAttribute(ApplicationFilterFactory.DISPATCHER_TYPE_ATTR,
-                                             new Integer(ApplicationFilterFactory.INCLUDE));
-            wrequest.setAttribute(ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, origServletPath);
-            invoke(outerRequest, outerResponse);
+            wrequest.setAttribute(
+                    ApplicationFilterFactory.DISPATCHER_TYPE_ATTR,
+                    new Integer(ApplicationFilterFactory.INCLUDE));
+            wrequest.setAttribute(
+                    ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR,
+                    servletPath);
+            invoke(state.outerRequest, state.outerResponse, state);
 
             wrequest.recycle();
         }
@@ -548,7 +565,7 @@
                 log.debug(" Path Based Include");
 
             ApplicationHttpRequest wrequest =
-                (ApplicationHttpRequest) wrapRequest();
+                (ApplicationHttpRequest) wrapRequest(state);
             String contextPath = context.getPath();
             if (requestURI != null)
                 wrequest.setAttribute(Globals.INCLUDE_REQUEST_URI_ATTR,
@@ -568,10 +585,13 @@
                 wrequest.setQueryParams(queryString);
             }
             
-            wrequest.setAttribute(ApplicationFilterFactory.DISPATCHER_TYPE_ATTR,
-                                             new Integer(ApplicationFilterFactory.INCLUDE));
-            wrequest.setAttribute(ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, origServletPath);
-            invoke(outerRequest, outerResponse);
+            wrequest.setAttribute(
+                    ApplicationFilterFactory.DISPATCHER_TYPE_ATTR,
+                    new Integer(ApplicationFilterFactory.INCLUDE));
+            wrequest.setAttribute(
+                    ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR,
+                    servletPath);
+            invoke(state.outerRequest, state.outerResponse, state);
 
             wrequest.recycle();
         }
@@ -597,8 +617,8 @@
      * @exception IOException if an input/output error occurs
      * @exception ServletException if a servlet error occurs
      */
-    private void invoke(ServletRequest request, ServletResponse response)
-            throws IOException, ServletException {
+    private void invoke(ServletRequest request, ServletResponse response,
+            State state) throws IOException, ServletException {
 
         // Checking to see if the context classloader is the current context
         // classloader. If it's not, we're saving it, and setting the context
@@ -613,7 +633,6 @@
         }
 
         // Initialize local variables we may need
-        HttpServletRequest hrequest = (HttpServletRequest) request;
         HttpServletResponse hresponse = (HttpServletResponse) response;
         Servlet servlet = null;
         IOException ioException = null;
@@ -747,8 +766,8 @@
         
         // Unwrap request/response if needed
         // See Bugzilla 30949
-        unwrapRequest();
-        unwrapResponse();
+        unwrapRequest(state);
+        unwrapResponse(state);
 
         // Rethrow an exception if one was thrown by the invoked servlet
         if (ioException != null)
@@ -762,35 +781,15 @@
 
 
     /**
-     * Set up to handle the specified request and response
-     *
-     * @param request The servlet request specified by the caller
-     * @param response The servlet response specified by the caller
-     * @param including Are we performing an include() as opposed to
-     *  a forward()?
-     */
-    private void setup(ServletRequest request, ServletResponse response,
-                       boolean including) {
-
-        this.appRequest = request;
-        this.appResponse = response;
-        this.outerRequest = request;
-        this.outerResponse = response;
-        this.including = including;
-
-    }
-
-
-    /**
      * Unwrap the request if we have wrapped it.
      */
-    private void unwrapRequest() {
+    private void unwrapRequest(State state) {
 
-        if (wrapRequest == null)
+        if (state.wrapRequest == null)
             return;
 
         ServletRequest previous = null;
-        ServletRequest current = outerRequest;
+        ServletRequest current = state.outerRequest;
         while (current != null) {
 
             // If we run into the container request we are done
@@ -799,11 +798,11 @@
                 break;
 
             // Remove the current request if it is our wrapper
-            if (current == wrapRequest) {
+            if (current == state.wrapRequest) {
                 ServletRequest next =
                   ((ServletRequestWrapper) current).getRequest();
                 if (previous == null)
-                    outerRequest = next;
+                    state.outerRequest = next;
                 else
                     ((ServletRequestWrapper) previous).setRequest(next);
                 break;
@@ -821,13 +820,13 @@
     /**
      * Unwrap the response if we have wrapped it.
      */
-    private void unwrapResponse() {
+    private void unwrapResponse(State state) {
 
-        if (wrapResponse == null)
+        if (state.wrapResponse == null)
             return;
 
         ServletResponse previous = null;
-        ServletResponse current = outerResponse;
+        ServletResponse current = state.outerResponse;
         while (current != null) {
 
             // If we run into the container response we are done
@@ -836,11 +835,11 @@
                 break;
 
             // Remove the current response if it is our wrapper
-            if (current == wrapResponse) {
+            if (current == state.wrapResponse) {
                 ServletResponse next =
                   ((ServletResponseWrapper) current).getResponse();
                 if (previous == null)
-                    outerResponse = next;
+                    state.outerResponse = next;
                 else
                     ((ServletResponseWrapper) previous).setResponse(next);
                 break;
@@ -859,11 +858,11 @@
      * Create and return a request wrapper that has been inserted in the
      * appropriate spot in the request chain.
      */
-    private ServletRequest wrapRequest() {
+    private ServletRequest wrapRequest(State state) {
 
         // Locate the request we should insert in front of
         ServletRequest previous = null;
-        ServletRequest current = outerRequest;
+        ServletRequest current = state.outerRequest;
         while (current != null) {
             if ("org.apache.catalina.servlets.InvokerHttpRequest".
                 equals(current.getClass().getName()))
@@ -888,11 +887,11 @@
             // Compute a crossContext flag
             HttpServletRequest hcurrent = (HttpServletRequest) current;
             boolean crossContext = false;
-            if ((outerRequest instanceof ApplicationHttpRequest) ||
-                (outerRequest instanceof Request) ||
-                (outerRequest instanceof HttpServletRequest)) {
+            if ((state.outerRequest instanceof ApplicationHttpRequest) ||
+                (state.outerRequest instanceof Request) ||
+                (state.outerRequest instanceof HttpServletRequest)) {
                 HttpServletRequest houterRequest = 
-                    (HttpServletRequest) outerRequest;
+                    (HttpServletRequest) state.outerRequest;
                 Object contextPath = houterRequest.getAttribute
                     (Globals.INCLUDE_CONTEXT_PATH_ATTR);
                 if (contextPath == null) {
@@ -907,10 +906,10 @@
             wrapper = new ApplicationRequest(current);
         }
         if (previous == null)
-            outerRequest = wrapper;
+            state.outerRequest = wrapper;
         else
             ((ServletRequestWrapper) previous).setRequest(wrapper);
-        wrapRequest = wrapper;
+        state.wrapRequest = wrapper;
         return (wrapper);
 
     }
@@ -920,11 +919,11 @@
      * Create and return a response wrapper that has been inserted in the
      * appropriate spot in the response chain.
      */
-    private ServletResponse wrapResponse() {
+    private ServletResponse wrapResponse(State state) {
 
         // Locate the response we should insert in front of
         ServletResponse previous = null;
-        ServletResponse current = outerResponse;
+        ServletResponse current = state.outerResponse;
         while (current != null) {
             if (!(current instanceof ServletResponseWrapper))
                 break;
@@ -945,17 +944,86 @@
             (current instanceof HttpServletResponse))
             wrapper =
                 new ApplicationHttpResponse((HttpServletResponse) current,
-                                            including);
+                        state.including);
         else
-            wrapper = new ApplicationResponse(current, including);
+            wrapper = new ApplicationResponse(current, state.including);
         if (previous == null)
-            outerResponse = wrapper;
+            state.outerResponse = wrapper;
         else
             ((ServletResponseWrapper) previous).setResponse(wrapper);
-        wrapResponse = wrapper;
+        state.wrapResponse = wrapper;
         return (wrapper);
 
     }
 
 
+    private void checkSameObjects(ServletRequest appRequest,
+            ServletResponse appResponse) throws ServletException {
+        ServletRequest originalRequest =
+            ApplicationFilterChain.getLastServicedRequest();
+        ServletResponse originalResponse =
+            ApplicationFilterChain.getLastServicedResponse();
+        
+        // Some forwards, eg from valves will not set original values 
+        if (originalRequest == null || originalResponse == null) {
+            return;
+        }
+        
+        boolean same = false;
+        ServletRequest dispatchedRequest = appRequest;
+        
+        //find the request that was passed into the service method
+        while (originalRequest instanceof ServletRequestWrapper &&
+                ((ServletRequestWrapper) originalRequest).getRequest()!=null) {
+            originalRequest =
+                ((ServletRequestWrapper) originalRequest).getRequest();
+        }
+
+        //compare with the dispatched request
+        while (!same) {
+            if (originalRequest.equals(dispatchedRequest)) {
+                same = true;
+            }
+            if (!same && dispatchedRequest instanceof ServletRequestWrapper) {
+                dispatchedRequest =
+                    ((ServletRequestWrapper) dispatchedRequest).getRequest();
+            } else {
+                break;
+            }
+        }
+        if (!same) {
+            throw new ServletException(sm.getString(
+                    "applicationDispatcher.specViolation.request"));
+        }
+        
+        same = false;
+        ServletResponse dispatchedResponse = appResponse;
+        
+        //find the response that was passed into the service method
+        while (originalResponse instanceof ServletResponseWrapper &&
+                ((ServletResponseWrapper) originalResponse).getResponse() !=
+                    null) {
+            originalResponse =
+                ((ServletResponseWrapper) originalResponse).getResponse();
+        }
+
+        //compare with the dispatched response
+        while (!same) {
+            if (originalResponse.equals(dispatchedResponse)) {
+                same = true;
+            }
+            
+            if (!same && dispatchedResponse instanceof ServletResponseWrapper) {
+                dispatchedResponse =
+                    ((ServletResponseWrapper) dispatchedResponse).getResponse();
+            } else {
+                break;
+            }
+        }
+
+        if (!same) {
+            throw new ServletException(sm.getString(
+                    "applicationDispatcher.specViolation.response"));
+        }
+    }
 }

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterChain.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterChain.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterChain.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,6 +32,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.catalina.Globals;
 import org.apache.catalina.InstanceEvent;
 import org.apache.catalina.security.SecurityUtil;
 import org.apache.catalina.util.InstanceSupport;
@@ -44,12 +46,25 @@
  * method itself.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303523 $ $Date: 2004-11-22 10:35:18 -0600 (Mon, 22 Nov 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 final class ApplicationFilterChain implements FilterChain {
 
+    // Used to enforce requirements of SRV.8.2 / SRV.14.2.5.1
+    private final static ThreadLocal lastServicedRequest;
+    private final static ThreadLocal lastServicedResponse;
 
+    static {
+        if (Globals.STRICT_SERVLET_COMPLIANCE) {
+            lastServicedRequest = new ThreadLocal();
+            lastServicedResponse = new ThreadLocal();
+        } else {
+            lastServicedRequest = null;
+            lastServicedResponse = null;
+        }
+    }
+    
     // -------------------------------------------------------------- Constants
 
 
@@ -190,8 +205,6 @@
                 if( System.getSecurityManager() != null ) {
                     final ServletRequest req = request;
                     final ServletResponse res = response;
-                    Principal principal = 
-                        ((HttpServletRequest) req).getUserPrincipal();
 
                     Object[] args = new Object[]{req, res, this};
                     SecurityUtil.doAsPrivilege
@@ -231,6 +244,10 @@
 
         // We fell off the end of the chain -- call the servlet instance
         try {
+            if (Globals.STRICT_SERVLET_COMPLIANCE) {
+                lastServicedRequest.set(request);
+                lastServicedResponse.set(response);
+            }
             support.fireInstanceEvent(InstanceEvent.BEFORE_SERVICE_EVENT,
                                       servlet, request, response);
             if ((request instanceof HttpServletRequest) &&
@@ -274,6 +291,11 @@
                                       servlet, request, response, e);
             throw new ServletException
               (sm.getString("filterChain.servlet"), e);
+        } finally {
+            if (Globals.STRICT_SERVLET_COMPLIANCE) {
+                lastServicedRequest.set(null);
+                lastServicedResponse.set(null);
+            }
         }
 
     }
@@ -338,5 +360,26 @@
 
     }
 
+    
+    /**
+     * The last request passed to a servlet for servicing from the current
+     * thread.
+     * 
+     * @return The last request to be serviced. 
+     */
+    public static ServletRequest getLastServicedRequest() {
+        return (ServletRequest) lastServicedRequest.get();
+    }
 
+    
+    /**
+     * The last response passed to a servlet for servicing from the current
+     * thread.
+     * 
+     * @return The last response to be serviced. 
+     */
+    public static ServletResponse getLastServicedResponse() {
+        return (ServletResponse) lastServicedResponse.get();
+    }
+
 }

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -41,7 +42,7 @@
  * is first started.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 355530 $ $Date: 2005-12-09 10:42:23 -0600 (Fri, 09 Dec 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 final class ApplicationFilterConfig implements FilterConfig, Serializable {
@@ -202,9 +203,6 @@
         else
             classLoader = context.getLoader().getClassLoader();
 
-        ClassLoader oldCtxClassLoader =
-            Thread.currentThread().getContextClassLoader();
-
         // Instantiate a new instance of this filter and return it
         Class clazz = classLoader.loadClass(filterClass);
         this.filter = (Filter) clazz.newInstance();
@@ -301,7 +299,7 @@
         } else {
 
             // Allocate a new filter instance
-            Filter filter = getFilter();
+            getFilter();
 
         }
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,7 +21,6 @@
 
 import javax.servlet.Servlet;
 import javax.servlet.ServletRequest;
-import javax.servlet.http.HttpServletRequest;
 
 import org.apache.catalina.Globals;
 import org.apache.catalina.Wrapper;
@@ -111,9 +111,6 @@
             requestPath = attribute.toString();
         }
         
-        HttpServletRequest hreq = null;
-        if (request instanceof HttpServletRequest) 
-            hreq = (HttpServletRequest)request;
         // If there is no servlet to execute, return null
         if (servlet == null)
             return (null);

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationHttpRequest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationHttpRequest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationHttpRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -54,7 +55,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 303799 $ $Date: 2005-03-25 02:41:23 -0600 (Fri, 25 Mar 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 class ApplicationHttpRequest extends HttpServletRequestWrapper {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationHttpResponse.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationHttpResponse.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationHttpResponse.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -41,7 +42,7 @@
  * keep these two classes in synchronization when making changes!
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303387 $ $Date: 2004-10-15 11:09:27 -0500 (Fri, 15 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 class ApplicationHttpResponse extends HttpServletResponseWrapper {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationRequest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationRequest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -42,7 +43,7 @@
  * keep these two classes in synchronization when making changes!
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 class ApplicationRequest extends ServletRequestWrapper {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationResponse.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationResponse.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ApplicationResponse.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -39,7 +40,7 @@
  * keep these two classes in synchronization when making changes!
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 class ApplicationResponse extends ServletResponseWrapper {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  * and destroy APR.
  *
  * @author Remy Maucherat
- * @version $Revision: 441786 $ $Date: 2006-09-09 07:26:11 -0500 (Sat, 09 Sep 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ContainerBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ContainerBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/ContainerBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/DummyRequest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/DummyRequest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/DummyRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -50,7 +51,7 @@
  * JSP precompilation.
  *
  * @author Remy Maucherat
- * @version $Revision: 302975 $ $Date: 2004-06-23 03:25:04 -0500 (Wed, 23 Jun 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class DummyRequest

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/DummyResponse.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/DummyResponse.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/DummyResponse.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -37,7 +38,7 @@
  * Dummy response object, used for JSP precompilation.
  *
  * @author Remy Maucherat
- * @version $Revision: 302975 $ $Date: 2004-06-23 03:25:04 -0500 (Wed, 23 Jun 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class DummyResponse

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -10,6 +10,8 @@
 applicationDispatcher.include.throw=Included resource threw an exception
 applicationDispatcher.isUnavailable=Servlet {0} is currently unavailable
 applicationDispatcher.serviceException=Servlet.service() for servlet {0} threw exception
+applicationDispatcher.specViolation.request=Original SevletRequest or wrapped original ServletRequest not passed to RequestDispatcher in violation of SRV.8.2 and SRV.14.2.5.1
+applicationDispatcher.specViolation.response=Original SevletResponse or wrapped original ServletResponse not passed to RequestDispatcher in violation of SRV.8.2 and SRV.14.2.5.1
 applicationRequest.badParent=Cannot locate parent Request implementation
 applicationRequest.badRequest=Request is not a javax.servlet.ServletRequestWrapper
 applicationResponse.badParent=Cannot locate parent Response implementation
@@ -56,6 +58,8 @@
 standardContext.filterMap.pattern=Invalid <url-pattern> {0} in filter mapping
 standardContext.filterStart=Exception starting filter {0}
 standardContext.filterStartFailed=Failed to start application Filters successfully
+standardContext.requestListener.requestInit=Exception sending request initialized lifecycle event to listener instance of class {0}
+standardContext.requestListener.requestDestroy=Exception sending request destroyed lifecycle event to listener instance of class {0}
 standardContext.requestListenerStartFailed=Failed to start request listener valve successfully
 standardContext.requestListenerConfig.added=Added request listener Valve
 standardContext.requestListenerConfig.error=Exception adding request listener Valve: {0}
@@ -75,6 +79,7 @@
 standardContext.notWrapper=Child of a Context must be a Wrapper
 standardContext.parameter.duplicate=Duplicate context initialization parameter {0}
 standardContext.parameter.required=Both parameter name and parameter value are required
+standardContext.pathRequired=Context path must be configured
 standardContext.reloadingCompleted=Reloading this Context is completed
 standardContext.reloadingFailed=Reloading this Context failed due to previous errors
 standardContext.reloadingStarted=Reloading this Context has started

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings_es.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings_es.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings_es.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -65,6 +65,8 @@
 standardContext.reloadingCompleted=Se ha completado la Regarga de este Contexto
 standardContext.reloadingFailed=Falló la recarga de este Contexto debido a errores previos
 standardContext.reloadingStarted=Ha comenzado la recarga de este Contexto
+standardContext.requestListener.requestInit=Una excepción durante el envío de requerimiento ha iniciado un evento de ciclo de vida (lifecycle event) para la instancia de clase a la escucha (listener) {0}
+standardContext.requestListener.requestDestroy=Una excepción durante el envío de requerimiento ha destruído un evento de ciclo de vida (lifecycle event) para la instancia de clase a la escucha (listener) {0}
 standardContext.resourcesStart=Error arrancando Recursos estáticos
 standardContext.securityConstraint.pattern=<url-pattern> {0} inválida en restricción de seguridad
 standardContext.servletMap.name=El mapeo de Servlet especifica un nombre de servlet desconocido {0}

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings_fr.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings_fr.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings_fr.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -64,6 +64,8 @@
 standardContext.reloadingCompleted=Le rechargement de ce contexte est terminé
 standardContext.reloadingFailed=Le rechargement de ce contexte a échoué suite à une erreur précédente
 standardContext.reloadingStarted=Le rechargement de ce contexte a démarré
+standardContext.requestListener.requestInit=Une exception lors de l''envoi de requête a initié un évènement cycle de vie (lifecycle event) pour l''instance de classe à l''écoute (listener) {0}
+standardContext.requestListener.requestDestroy=Une exception lors de l''envoi de requête a détruit un évènement cycle de vie (lifecycle event) pour l''instance de classe à l''écoute (listener) {0}
 standardContext.securityConstraint.pattern=<url-pattern> {0} invalide d''après les contraintes de sécurité (security constraint)
 standardContext.servletMap.name=L''association de servlet (servlet mapping) indique un nom de servlet inconnu {0}
 standardContext.servletMap.pattern=<url-pattern> {0} invalide dans l''association de servlet (servlet mapping)

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings_ja.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings_ja.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/LocalStrings_ja.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -65,6 +65,8 @@
 standardContext.reloadingCompleted=\u3053\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u518d\u30ed\u30fc\u30c9\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f
 standardContext.reloadingFailed=\u4ee5\u524d\u306e\u30a8\u30e9\u30fc\u306e\u305f\u3081\u306b\u3053\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u518d\u30ed\u30fc\u30c9\u304c\u5931\u6557\u3057\u307e\u3057\u305f
 standardContext.reloadingStarted=\u3053\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u518d\u30ed\u30fc\u30c9\u3092\u958b\u59cb\u3057\u307e\u3057\u305f
+standardContext.requestListener.requestInit=\u30af\u30e9\u30b9 {0} \u306e\u30ea\u30b9\u30ca\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u521d\u671f\u5316\u3059\u308b\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a4\u30d9\u30f3\u30c8\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u4e2d\u306e\u4f8b\u5916\u3067\u3059
+standardContext.requestListener.requestDestroy=\u30af\u30e9\u30b9 {0} \u306e\u30ea\u30b9\u30ca\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u5ec3\u68c4\u3059\u308b\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a4\u30d9\u30f3\u30c8\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u4e2d\u306e\u4f8b\u5916\u3067\u3059
 standardContext.resourcesStart=\u9759\u7684\u30ea\u30bd\u30fc\u30b9\u306e\u8d77\u52d5\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059
 standardContext.securityConstraint.pattern=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u5236\u7d04\u306e\u4e2d\u306b\u7121\u52b9\u306a <url-pattern> {0} \u304c\u3042\u308a\u307e\u3059
 standardContext.servletMap.name=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u30de\u30c3\u30d4\u30f3\u30b0\u306f\u672a\u77e5\u306e\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u540d {0} \u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/NamingContextListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/NamingContextListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/NamingContextListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -36,13 +37,11 @@
 import org.apache.catalina.ContainerEvent;
 import org.apache.catalina.ContainerListener;
 import org.apache.catalina.Context;
-import org.apache.catalina.Engine;
 import org.apache.catalina.Host;
 import org.apache.catalina.Lifecycle;
 import org.apache.catalina.LifecycleEvent;
 import org.apache.catalina.LifecycleListener;
 import org.apache.catalina.Server;
-import org.apache.catalina.Service;
 import org.apache.catalina.deploy.ContextEjb;
 import org.apache.catalina.deploy.ContextEnvironment;
 import org.apache.catalina.deploy.ContextLocalEjb;
@@ -70,7 +69,7 @@
  * with each context and server.
  *
  * @author Remy Maucherat
- * @version $Revision: 304032 $ $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class NamingContextListener
@@ -675,8 +674,6 @@
             if (path.length() < 1)
                 path = "/";
             Host host = (Host) ((Context)container).getParent();
-            Engine engine = (Engine) host.getParent();
-            Service service = engine.getService();
             name = new ObjectName(domain + ":type=DataSource" +
                         ",path=" + path + 
                         ",host=" + host.getName() +

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -102,7 +103,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 440946 $ $Date: 2006-09-06 21:10:10 -0500 (Wed, 06 Sep 2006) $
+ * @version $Revision: 513599 $ $Date: 2007-03-01 19:34:17 -0700 (Thu, 01 Mar 2007) $
  */
 
 public class StandardContext
@@ -3826,15 +3827,21 @@
      * or <code>false</code> otherwise.
      */
     public boolean resourcesStart() {
-
         boolean ok = true;
 
         Hashtable env = new Hashtable();
-        if (getParent() != null)
+        if (getParent() != null) {
             env.put(ProxyDirContext.HOST, getParent().getName());
-        env.put(ProxyDirContext.CONTEXT, getName());
+        }
 
         try {
+            // Bugzilla 40133: http://issues.apache.org/bugzilla/show_bug.cgi?id=40133
+            if (getName() == null) {
+                throw new IllegalArgumentException(
+                  sm.getString("standardContext.pathRequired"));
+            }
+            env.put(ProxyDirContext.CONTEXT, getName());
+                
             ProxyDirContext proxyDirContext =
                 new ProxyDirContext(env, webappResources);
             if (webappResources instanceof FileDirContext) {
@@ -3928,8 +3935,6 @@
             int loadOnStartup = wrapper.getLoadOnStartup();
             if (loadOnStartup < 0)
                 continue;
-            if (loadOnStartup == 0)     // Arbitrarily put them last
-                loadOnStartup = Integer.MAX_VALUE;
             Integer key = new Integer(loadOnStartup);
             ArrayList list = (ArrayList) map.get(key);
             if (list == null) {
@@ -4994,7 +4999,7 @@
             // Temporary - /admin uses the old names
             return name;
         }
-        ObjectName result=super.preRegister(server,name);
+        super.preRegister(server,name);
         return name;
     }
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardContextValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardContextValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardContextValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -33,8 +34,6 @@
 import org.apache.catalina.connector.Response;
 import org.apache.catalina.util.StringManager;
 import org.apache.catalina.valves.ValveBase;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.tomcat.util.buf.MessageBytes;
 
 /**
@@ -45,7 +44,7 @@
  * when processing HTTP requests.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302978 $ $Date: 2004-06-23 11:59:42 -0500 (Wed, 23 Jun 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 final class StandardContextValve
@@ -69,9 +68,6 @@
         StringManager.getManager(Constants.Package);
 
 
-    private static Log log = LogFactory.getLog(StandardContextValve.class);
-
-    
     private StandardContext context = null;
     
 
@@ -166,7 +162,7 @@
                 try {
                     listener.requestInitialized(event);
                 } catch (Throwable t) {
-                    container.getLogger().error(sm.getString("requestListenerValve.requestInit",
+                    container.getLogger().error(sm.getString("standardContext.requestListener.requestInit",
                                      instances[i].getClass().getName()), t);
                     ServletRequest sreq = request.getRequest();
                     sreq.setAttribute(Globals.EXCEPTION_ATTR,t);
@@ -190,7 +186,7 @@
                 try {
                     listener.requestDestroyed(event);
                 } catch (Throwable t) {
-                    container.getLogger().error(sm.getString("requestListenerValve.requestDestroy",
+                    container.getLogger().error(sm.getString("standardContext.requestListener.requestDestroy",
                                      instances[i].getClass().getName()), t);
                     ServletRequest sreq = request.getRequest();
                     sreq.setAttribute(Globals.EXCEPTION_ATTR,t);
@@ -205,47 +201,6 @@
 
 
     /**
-     * Report a "bad request" error for the specified resource.  FIXME:  We
-     * should really be using the error reporting settings for this web
-     * application, but currently that code runs at the wrapper level rather
-     * than the context level.
-     *
-     * @param requestURI The request URI for the requested resource
-     * @param response The response we are creating
-     */
-    private void badRequest(String requestURI, HttpServletResponse response) {
-
-        try {
-            response.sendError(HttpServletResponse.SC_BAD_REQUEST, requestURI);
-        } catch (IllegalStateException e) {
-            ;
-        } catch (IOException e) {
-            ;
-        }
-
-    }
-    
-    
-    /**
-     * Report a "forbidden" error for the specified resource. 
-     *
-     * @param requestURI The request URI for the requested resource
-     * @param response The response we are creating
-     */
-    private void forbidden(String requestURI, HttpServletResponse response) {
-
-        try {
-            response.sendError(HttpServletResponse.SC_FORBIDDEN, requestURI);
-        } catch (IllegalStateException e) {
-            ;
-        } catch (IOException e) {
-            ;
-        }
-
-    }
-
-
-    /**
      * Report a "not found" error for the specified resource.  FIXME:  We
      * should really be using the error reporting settings for this web
      * application, but currently that code runs at the wrapper level rather

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardEngine.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardEngine.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardEngine.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -45,7 +46,7 @@
  * You can set the jvmRoute direct or with the System.property <b>jvmRoute</b>.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303667 $ $Date: 2005-01-29 13:41:16 -0600 (Sat, 29 Jan 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class StandardEngine

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardEngineValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardEngineValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardEngineValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -38,7 +39,7 @@
  * when processing HTTP requests.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302978 $ $Date: 2004-06-23 11:59:42 -0500 (Wed, 23 Jun 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 final class StandardEngineValve

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardHost.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardHost.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardHost.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -38,7 +39,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 303666 $ $Date: 2005-01-29 13:38:37 -0600 (Sat, 29 Jan 2005) $
+ * @version $Revision: 478655 $ $Date: 2006-11-23 13:05:58 -0700 (Thu, 23 Nov 2006) $
  */
 
 public class StandardHost
@@ -92,7 +93,13 @@
     private String configClass =
         "org.apache.catalina.startup.ContextConfig";
 
+    /**
+     * The Java class name of the default host config configuration class (deployer)
+     */
+    private String hostConfigClass =
+        "org.apache.catalina.startup.HostConfig";
 
+        
     /**
      * The Java class name of the default Context implementation class for
      * deployed web applications.
@@ -121,11 +128,6 @@
         "org.apache.catalina.valves.ErrorReportValve";
 
     /**
-     * The object name for the errorReportValve.
-     */
-    private ObjectName errorReportValveObjectName = null;
-
-    /**
      * The descriptive information string for this implementation.
      */
     private static final String info =
@@ -133,12 +135,6 @@
 
 
     /**
-     * The live deploy flag for this Host.
-     */
-    private boolean liveDeploy = true;
-
-
-    /**
      * Unpack WARs property.
      */
     private boolean unpackWARs = true;
@@ -243,8 +239,32 @@
 
     }
 
+    
+    /**
+     * Return the Java class name of the host configuration class (deployer)
+     */
+    public String getHostConfigClass() {
 
+        return (this.hostConfigClass);
+
+    }
+
+
     /**
+     * Set the Java class name of the host config configuration class (deployer)
+     *
+     * @param hostConfigClass The new host config configuration class (deployer)
+     */
+    public void setHostConfigClass(String hostConfigClass) {
+
+        String oldHostConfigClass = this.hostConfigClass;
+        this.hostConfigClass = hostConfigClass;
+        support.firePropertyChange("hostConfigClass",
+                                   oldHostConfigClass, this.hostConfigClass);
+    }
+
+    
+    /**
      * Return the Java class name of the Context implementation class
      * for new web applications.
      */
@@ -690,23 +710,21 @@
             && (!errorReportValveClass.equals(""))) {
             try {
                 boolean found = false;
-                if(errorReportValveObjectName != null) {
-                    ObjectName[] names = 
-                        ((StandardPipeline)pipeline).getValveObjectNames();
-                    for (int i=0; !found && i<names.length; i++)
-                        if(errorReportValveObjectName.equals(names[i]))
-                            found = true ;
-                    }
-                    if(!found) {          	
-                        Valve valve = (Valve) Class.forName(errorReportValveClass)
-                        .newInstance();
-                        addValve(valve);
-                        errorReportValveObjectName = ((ValveBase)valve).getObjectName() ;
-                    }
+                Valve[] valves = 
+                    ((StandardPipeline)pipeline).getValves();
+                for (int i=0; !found && i<valves.length; i++)
+                    if(errorReportValveClass.equals(
+                            valves[i].getClass().getName()))
+                        found = true ;
+                if(!found) {          	
+                    Valve valve = (Valve) Class.forName(errorReportValveClass)
+                    .newInstance();
+                    addValve(valve);
+                }
             } catch (Throwable t) {
                 log.error(sm.getString
                     ("standardHost.invalidErrorReportValveClass", 
-                     errorReportValveClass));
+                     errorReportValveClass), t);
             }
         }
         if(log.isInfoEnabled()) {
@@ -758,7 +776,19 @@
                 ObjectName serviceName=new ObjectName(domain + 
                                         ":type=Engine");
 
-                HostConfig deployer = new HostConfig();
+                HostConfig deployer = null;
+                try {
+                    String hostConfigClassname = getHostConfigClass();
+                    if (hostConfigClassname != null) {
+                        Class clazz = Class.forName(hostConfigClassname);
+                        deployer = (HostConfig) clazz.newInstance();
+                    } else {
+                        deployer = new HostConfig();
+                    }
+                } catch (Exception e) {
+                    log.warn("Error creating HostConfig for host " + name, e);
+                    throw e;
+                }
                 addLifecycleListener(deployer);                
                 if( mserver.isRegistered( serviceName )) {
                     if(log.isDebugEnabled())

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardHostValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardHostValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardHostValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -48,7 +49,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 304105 $ $Date: 2005-09-27 14:20:54 -0500 (Tue, 27 Sep 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 final class StandardHostValve

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardPipeline.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardPipeline.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardPipeline.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -530,6 +531,8 @@
             current = current.getNext();
         }
 
+        if (first == basic) first = null;
+        
         if (valve instanceof Contained)
             ((Contained) valve).setContainer(null);
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardServer.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardServer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardServer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -55,7 +56,7 @@
  * (but not required) when deploying and starting Catalina.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 370082 $ $Date: 2006-01-18 03:17:33 -0600 (Wed, 18 Jan 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public final class StandardServer
     implements Lifecycle, Server, MBeanRegistration 
@@ -63,16 +64,6 @@
     private static Log log = LogFactory.getLog(StandardServer.class);
    
 
-    // -------------------------------------------------------------- Constants
-
-
-    /**
-     * ServerLifecycleListener classname.
-     */
-    private static String SERVER_LISTENER_CLASS_NAME =
-        "org.apache.catalina.mbeans.ServerLifecycleListener";
-
-
     // ------------------------------------------------------------ Constructor
 
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardService.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardService.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardService.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -280,10 +281,7 @@
     public ObjectName[] getConnectorNames() {
         ObjectName results[] = new ObjectName[connectors.length];
         for( int i=0; i<results.length; i++ ) {
-            // if it's a coyote connector
-            //if( connectors[i] instanceof CoyoteConnector ) {
-            //    results[i]=((CoyoteConnector)connectors[i]).getJmxName();
-            //}
+            results[i]=connectors[i].getObjectName();
         }
         return results;
     }

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardWrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardWrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,6 +28,8 @@
 import java.security.AccessController;
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
+import java.sql.SQLException;
+
 import javax.servlet.Servlet;
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletContext;
@@ -66,7 +69,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 413538 $ $Date: 2006-06-11 16:53:07 -0500 (Sun, 11 Jun 2006) $
+ * @version $Revision: 499215 $ $Date: 2007-01-23 19:55:06 -0700 (Tue, 23 Jan 2007) $
  */
 public class StandardWrapper
     extends ContainerBase
@@ -265,6 +268,19 @@
     private static Class[] classTypeUsedInService = new Class[]{
                                                          ServletRequest.class,
                                                          ServletResponse.class};
+    
+    private static Class jspExceptionClazz;
+    
+    static {
+        try {
+            jspExceptionClazz = Class.forName("javax.servlet.jsp.JspException");
+        } catch (ClassNotFoundException e) {
+            // Expected if jsp-api not on classpath, eg when embedding
+            jspExceptionClazz = null;
+        }
+    }
+        
+
     // ------------------------------------------------------------- Properties
 
 
@@ -631,21 +647,39 @@
      * @param e The servlet exception
      */
     public static Throwable getRootCause(ServletException e) {
-        Throwable rootCause = e;
-        Throwable rootCauseCheck = null;
-        // Extra aggressive rootCause finding
-        do {
-            try {
-                rootCauseCheck = (Throwable)IntrospectionUtils.getProperty
-                                            (rootCause, "rootCause");
-                if (rootCauseCheck!=null)
-                    rootCause = rootCauseCheck;
+        Throwable rootCause = e.getRootCause();
+        return findRootCause(e, rootCause);
+    }
 
-            } catch (ClassCastException ex) {
-                rootCauseCheck = null;
-            }
-        } while (rootCauseCheck != null);
-        return rootCause;
+
+    /*
+     * Work through the root causes using specific methods for well known types
+     * and getCause() for the rest. Stop when the next rootCause is null or
+     * an exception is found that has itself as its own rootCause. 
+     */
+    private static final Throwable findRootCause(Throwable theException,
+            Throwable theRootCause) {
+        
+        Throwable deeperRootCause = null;
+
+        if (theRootCause == null || theRootCause == theException) {
+            return theException;
+        }
+        
+        if (theRootCause instanceof ServletException) {
+            deeperRootCause = ((ServletException) theRootCause).getRootCause();
+        } else if (jspExceptionClazz!=null &&
+                jspExceptionClazz.isAssignableFrom(theRootCause.getClass())) {
+            deeperRootCause = (Throwable)IntrospectionUtils.getProperty(
+                    theRootCause, "rootCause"); 
+        } else if (theRootCause instanceof SQLException) {
+            deeperRootCause = ((SQLException) theRootCause).getNextException();
+        }
+        if (deeperRootCause == null) {
+            deeperRootCause = theRootCause.getCause();
+        }
+        
+        return findRootCause(theRootCause, deeperRootCause);
     }
 
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardWrapperFacade.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardWrapperFacade.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardWrapperFacade.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * Facade for the <b>StandardWrapper</b> object.
  *
  * @author Remy Maucharat
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class StandardWrapperFacade

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -34,8 +35,6 @@
 import org.apache.catalina.connector.Response;
 import org.apache.catalina.util.StringManager;
 import org.apache.catalina.valves.ValveBase;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.tomcat.util.buf.MessageBytes;
 import org.apache.tomcat.util.log.SystemLogHandler;
 
@@ -44,14 +43,12 @@
  * <code>StandardWrapper</code> container implementation.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303681 $ $Date: 2005-02-06 04:39:32 -0600 (Sun, 06 Feb 2005) $
+ * @version $Revision: 508294 $ $Date: 2007-02-15 20:06:07 -0700 (Thu, 15 Feb 2007) $
  */
 
 final class StandardWrapperValve
     extends ValveBase {
 
-    private static Log log = LogFactory.getLog(StandardWrapperValve.class);
-
     // ----------------------------------------------------- Instance Variables
 
 
@@ -222,13 +219,13 @@
             exception(request, response, e);
         } catch (IOException e) {
         	request.removeAttribute(Globals.JSP_FILE_ATTR);
-            container.getLogger().warn(sm.getString("standardWrapper.serviceException",
+            container.getLogger().error(sm.getString("standardWrapper.serviceException",
                              wrapper.getName()), e);
             throwable = e;
             exception(request, response, e);
         } catch (UnavailableException e) {
         	request.removeAttribute(Globals.JSP_FILE_ATTR);
-            container.getLogger().warn(sm.getString("standardWrapper.serviceException",
+            container.getLogger().error(sm.getString("standardWrapper.serviceException",
                              wrapper.getName()), e);
             //            throwable = e;
             //            exception(request, response, e);

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -589,6 +589,11 @@
                  description="Connector object"
                  type="org.apache.catalina.connector.Connector"/>
     </operation>
+    <operation name="getConnectorNames"
+               description="get all JMX connector names"
+               impact="ACTION"
+               returnType="[Ljavax.management.ObjectName;">
+    </operation>
     
     <operation name="start" description="Start" impact="ACTION" returnType="void" />
     <operation name="stop" description="Stop" impact="ACTION" returnType="void" />

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ApplicationParameter.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ApplicationParameter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ApplicationParameter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * to modify the application deployment descriptor itself.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302879 $ $Date: 2004-05-13 15:40:49 -0500 (Thu, 13 May 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ApplicationParameter implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextEjb.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextEjb.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextEjb.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  *
  * @author Craig R. McClanahan
  * @author Peter Rossbach (pero at apache.org)
- * @version $Revision: 303342 $ $Date: 2004-10-05 02:56:49 -0500 (Tue, 05 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ContextEjb extends ResourceBase implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextEnvironment.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextEnvironment.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextEnvironment.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
  * an <code>&lt;env-entry&gt;</code> element in the deployment descriptor.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302879 $ $Date: 2004-05-13 15:40:49 -0500 (Thu, 13 May 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ContextEnvironment implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextLocalEjb.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextLocalEjb.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextLocalEjb.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  *
  * @author Craig R. McClanahan
  * @author Peter Rossbach (pero at apache.org)
- * @version $Revision: 303342 $ $Date: 2004-10-05 02:56:49 -0500 (Tue, 05 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ContextLocalEjb extends ResourceBase implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextResource.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextResource.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextResource.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  *
  * @author Craig R. McClanahan
  * @author Peter Rossbach (pero at apache.org)
- * @version $Revision: 303342 $ $Date: 2004-10-05 02:56:49 -0500 (Tue, 05 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ContextResource extends ResourceBase implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextResourceEnvRef.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextResourceEnvRef.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextResourceEnvRef.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  *
  * @author Craig R. McClanahan
  * @author Peter Rossbach (pero at apache.org)
- * @version $Revision: 303342 $ $Date: 2004-10-05 02:56:49 -0500 (Tue, 05 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ContextResourceEnvRef extends ResourceBase implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextResourceLink.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextResourceLink.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextResourceLink.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  *
  * @author Remy Maucherat
  * @author Peter Rossbach (Peter Rossbach (pero at apache.org))
- * @version $Revision: 303342 $ $Date: 2004-10-05 02:56:49 -0500 (Tue, 05 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ContextResourceLink extends ResourceBase implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextTransaction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextTransaction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ContextTransaction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  * an <code>&lt;res-env-refy&gt;</code> element in the deployment descriptor.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303032 $ $Date: 2004-07-26 11:04:02 -0500 (Mon, 26 Jul 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ContextTransaction implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ErrorPage.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ErrorPage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ErrorPage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * deployment descriptor.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302879 $ $Date: 2004-05-13 15:40:49 -0500 (Thu, 13 May 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ErrorPage implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/FilterDef.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/FilterDef.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/FilterDef.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * in a <code>&lt;filter&gt;</code> element in the deployment descriptor.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302879 $ $Date: 2004-05-13 15:40:49 -0500 (Thu, 13 May 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class FilterDef implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/FilterMap.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/FilterMap.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/FilterMap.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * a URL pattern or a servlet name.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302879 $ $Date: 2004-05-13 15:40:49 -0500 (Thu, 13 May 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class FilterMap implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/LoginConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/LoginConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/LoginConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * deployment descriptor.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302879 $ $Date: 2004-05-13 15:40:49 -0500 (Thu, 13 May 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class LoginConfig implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/MessageDestination.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/MessageDestination.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/MessageDestination.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * in the deployment descriptor.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302879 $ $Date: 2004-05-13 15:40:49 -0500 (Thu, 13 May 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since Tomcat 5.0
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/MessageDestinationRef.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/MessageDestinationRef.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/MessageDestinationRef.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * in the deployment descriptor.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302879 $ $Date: 2004-05-13 15:40:49 -0500 (Thu, 13 May 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since Tomcat 5.0
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/NamingResources.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/NamingResources.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/NamingResources.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  * Naming Context and their associated JNDI context.
  *
  * @author Remy Maucherat
- * @version $Revision: 303133 $ $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class NamingResources implements Serializable {
@@ -184,10 +185,14 @@
     public void addEnvironment(ContextEnvironment environment) {
 
         if (entries.containsKey(environment.getName())) {
-            return;
-        } else {
-            entries.put(environment.getName(), environment.getType());
+            if (findEnvironment(environment.getName()).getOverride()) {
+                removeEnvironment(environment.getName());
+            } else {
+                return;
+            }
         }
+        
+        entries.put(environment.getName(), environment.getType());
 
         synchronized (envs) {
             environment.setNamingResources(this);

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ResourceBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ResourceBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/ResourceBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * Representation of an Context element
  *
  * @author Peter Rossbach (pero at apache.org)
- * @version $Revision: 303342 $ $Date: 2004-10-05 02:56:49 -0500 (Tue, 05 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ResourceBase implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/SecurityCollection.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/SecurityCollection.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/SecurityCollection.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -38,7 +39,7 @@
  * this class is synchronized.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 304007 $ $Date: 2005-07-21 15:14:57 -0500 (Thu, 21 Jul 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class SecurityCollection implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/SecurityConstraint.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/SecurityConstraint.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/deploy/SecurityConstraint.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -32,7 +33,7 @@
  * this class is synchronized.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302879 $ $Date: 2004-05-13 15:40:49 -0500 (Thu, 13 May 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class SecurityConstraint implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/launcher/CatalinaLaunchFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/launcher/CatalinaLaunchFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/launcher/CatalinaLaunchFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/Reloader.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/Reloader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/Reloader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * the classloader associated with the context.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface Reloader {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/ResourceEntry.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/ResourceEntry.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/ResourceEntry.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
  * Resource entry.
  *
  * @author Remy Maucherat
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class ResourceEntry {
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -21,27 +22,12 @@
 import java.net.URLClassLoader;
 
 /**
- * Subclass implementation of <b>java.net.URLClassLoader</b> that knows how
- * to load classes from disk directories, as well as local and remote JAR
- * files.  It also implements the <code>Reloader</code> interface, to provide
- * automatic reloading support to the associated loader.
- * <p>
- * In all cases, URLs must conform to the contract specified by
- * <code>URLClassLoader</code> - any URL that ends with a "/" character is
- * assumed to represent a directory; all other URLs are assumed to be the
- * address of a JAR file.
- * <p>
- * <strong>IMPLEMENTATION NOTE</strong> - Local repositories are searched in
- * the order they are added via the initial constructor and/or any subsequent
- * calls to <code>addRepository()</code>.
- * <p>
- * <strong>IMPLEMENTATION NOTE</strong> - At present, there are no dependencies
- * from this class to any other Catalina class, so that it could be used
- * independently.
+ * Subclass implementation of <b>java.net.URLClassLoader</b>. There are no
+ * functional differences between this class and <b>java.net.URLClassLoader</b>.
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 303071 $ $Date: 2004-08-05 05:54:43 -0500 (Thu, 05 Aug 2004) $
+ * @version $Revision: 473473 $ $Date: 2006-11-10 14:06:39 -0700 (Fri, 10 Nov 2006) $
  */
 
 public class StandardClassLoader

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/StandardClassLoaderMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/StandardClassLoaderMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/StandardClassLoaderMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -21,7 +22,7 @@
  * MBean interface for StandardClassLoader, to allow JMX remote management.
  *
  * @author Remy Maucherat
- * @version $Revision: 302740 $ $Date: 2004-03-02 06:32:19 -0600 (Tue, 02 Mar 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public interface StandardClassLoaderMBean {
 }

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -41,7 +42,10 @@
 import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
 import java.util.Vector;
 import java.util.jar.Attributes;
 import java.util.jar.JarEntry;
@@ -98,7 +102,7 @@
  *
  * @author Remy Maucherat
  * @author Craig R. McClanahan
- * @version $Revision: 414654 $ $Date: 2006-06-15 13:51:57 -0500 (Thu, 15 Jun 2006) $
+ * @version $Revision: 510801 $ $Date: 2007-02-22 21:09:46 -0700 (Thu, 22 Feb 2007) $
  */
 public class WebappClassLoader
     extends URLClassLoader
@@ -1630,9 +1634,15 @@
             }
         }
         
-         // Clear the IntrospectionUtils cache.
+        // Remove entries for this webapp from the JSP EL BeanInfo cache
+        cleanElCache();
+        
+        // Clear the IntrospectionUtils cache.
         IntrospectionUtils.clear();
         
+        // Clear the IntrospectionUtils cache for modeler.
+        org.apache.commons.modeler.util.IntrospectionUtils.clear();
+
         // Clear the classloader reference in common-logging
         org.apache.commons.logging.LogFactory.release(this);
         
@@ -1642,6 +1652,34 @@
     }
 
 
+    protected void cleanElCache() {
+        try {
+            Class managerClass =
+                Class.forName("org.apache.commons.el.BeanInfoManager");
+            Field cacheField =
+                managerClass.getDeclaredField("mBeanInfoManagerByClass");
+            cacheField.setAccessible(true);
+            Map map = (Map) cacheField.get(null);
+            
+            Set victims = new HashSet();
+                
+            for (Iterator i = map.keySet().iterator(); i.hasNext();) {
+                Class cachedClass = (Class) i.next();
+                if(loadedByThisOrChild(cachedClass)) {
+                    victims.add(cachedClass);
+                }
+            }
+            
+            map.keySet().removeAll(victims);
+            
+            } catch (Throwable t) {
+                if (log.isDebugEnabled()) {
+                    log.debug("Could not clean EL cache", t);
+            }
+        }
+    }
+    
+    
     protected void nullInstance(Object instance) {
         if (instance == null) {
             return;
@@ -1761,60 +1799,54 @@
         synchronized (this) {
             if (entry.binaryContent == null && entry.loadedClass == null)
                 throw new ClassNotFoundException(name);
-        }
 
-        // Looking up the package
-        String packageName = null;
-        int pos = name.lastIndexOf('.');
-        if (pos != -1)
-            packageName = name.substring(0, pos);
+            // Looking up the package
+            String packageName = null;
+            int pos = name.lastIndexOf('.');
+            if (pos != -1)
+                packageName = name.substring(0, pos);
+    
+            Package pkg = null;
+    
+            if (packageName != null) {
 
-        Package pkg = null;
-
-        if (packageName != null) {
-
-            pkg = getPackage(packageName);
-
-            // Define the package (if null)
-            if (pkg == null) {
-                if (entry.manifest == null) {
-                    definePackage(packageName, null, null, null, null, null,
-                                  null, null);
-                } else {
-                    definePackage(packageName, entry.manifest, entry.codeBase);
+                pkg = getPackage(packageName);
+    
+                // Define the package (if null)
+                if (pkg == null) {
+                    if (entry.manifest == null) {
+                        definePackage(packageName, null, null, null, null,
+                                null, null, null);
+                    } else {
+                        definePackage(packageName, entry.manifest,
+                                entry.codeBase);
+                    }
                 }
             }
 
-        }
-
-        // Create the code source object
-        CodeSource codeSource =
-            new CodeSource(entry.codeBase, entry.certificates);
-
-        if (securityManager != null) {
-
-            // Checking sealing
-            if (pkg != null) {
-                boolean sealCheck = true;
-                if (pkg.isSealed()) {
-                    sealCheck = pkg.isSealed(entry.codeBase);
-                } else {
-                    sealCheck = (entry.manifest == null)
-                        || !isPackageSealed(packageName, entry.manifest);
+            if (securityManager != null) {
+    
+                // Checking sealing
+                if (pkg != null) {
+                    boolean sealCheck = true;
+                    if (pkg.isSealed()) {
+                        sealCheck = pkg.isSealed(entry.codeBase);
+                    } else {
+                        sealCheck = (entry.manifest == null)
+                            || !isPackageSealed(packageName, entry.manifest);
+                    }
+                    if (!sealCheck)
+                        throw new SecurityException
+                            ("Sealing violation loading " + name + " : Package "
+                             + packageName + " is sealed.");
                 }
-                if (!sealCheck)
-                    throw new SecurityException
-                        ("Sealing violation loading " + name + " : Package "
-                         + packageName + " is sealed.");
+    
             }
 
-        }
-
-        synchronized (this) {
             if (entry.loadedClass == null) {
                 clazz = defineClass(name, entry.binaryContent, 0,
                         entry.binaryContent.length, 
-                        codeSource);
+                        new CodeSource(entry.codeBase, entry.certificates));
                 entry.loadedClass = clazz;
                 entry.binaryContent = null;
                 entry.source = null;

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/WebappLoader.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/WebappLoader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/loader/WebappLoader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -48,7 +49,6 @@
 
 import org.apache.catalina.Container;
 import org.apache.catalina.Context;
-import org.apache.catalina.Engine;
 import org.apache.catalina.Globals;
 import org.apache.catalina.Lifecycle;
 import org.apache.catalina.LifecycleException;
@@ -78,7 +78,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 440936 $ $Date: 2006-09-06 20:51:28 -0500 (Wed, 06 Sep 2006) $
+ * @version $Revision: 473474 $ $Date: 2006-11-10 14:06:59 -0700 (Fri, 10 Nov 2006) $
  */
 
 public class WebappLoader
@@ -593,7 +593,6 @@
                 // Register ourself. The container must be a webapp
                 try {
                     StandardContext ctx=(StandardContext)container;
-                    Engine eng=(Engine)ctx.getParent().getParent();
                     String path = ctx.getPath();
                     if (path.equals("")) {
                         path = "/";
@@ -689,7 +688,6 @@
                 ((ClassLoader) classLoader, this.container.getResources());
 
             StandardContext ctx=(StandardContext)container;
-            Engine eng=(Engine)ctx.getParent().getParent();
             String path = ctx.getPath();
             if (path.equals("")) {
                 path = "/";
@@ -738,7 +736,6 @@
 
         try {
             StandardContext ctx=(StandardContext)container;
-            Engine eng=(Engine)ctx.getParent().getParent();
             String path = ctx.getPath();
             if (path.equals("")) {
                 path = "/";
@@ -771,7 +768,6 @@
         // Validate the source of this event
         if (!(event.getSource() instanceof Context))
             return;
-        Context context = (Context) event.getSource();
 
         // Process a relevant property change
         if (event.getPropertyName().equals("reloadable")) {
@@ -1228,15 +1224,11 @@
         org.apache.commons.logging.LogFactory.getLog( WebappLoader.class );
 
     private ObjectName oname;
-    private MBeanServer mserver;
-    private String domain;
     private ObjectName controller;
 
     public ObjectName preRegister(MBeanServer server,
                                   ObjectName name) throws Exception {
         oname=name;
-        mserver=server;
-        domain=name.getDomain();
 
         return name;
     }

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ClassNameMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ClassNameMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ClassNameMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -32,7 +33,7 @@
  * qualified class name of the managed object as its value.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ClassNameMBean extends BaseModelMBean {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ConnectorMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ConnectorMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ConnectorMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -33,7 +34,7 @@
  * <code>org.apache.coyote.tomcat5.CoyoteConnector</code> component.</p>
  *
  * @author Amy Roh
- * @version $Revision: 394709 $ $Date: 2006-04-17 10:35:32 -0500 (Mon, 17 Apr 2006) $
+ * @version $Revision: 505759 $ $Date: 2007-02-10 13:20:48 -0700 (Sat, 10 Feb 2007) $
  */
 
 public class ConnectorMBean extends ClassNameMBean {
@@ -126,7 +127,12 @@
 
         try {
             Connector connector = (Connector) getManagedResource();
-            IntrospectionUtils.setProperty(connector, name, String.valueOf(value));
+            if (value == null) {
+                IntrospectionUtils.setProperty(connector, name, null);
+            } else {
+                IntrospectionUtils.setProperty(connector, name,
+                        String.valueOf(value)); 
+            }
         } catch (InstanceNotFoundException e) {
             throw new MBeanException(e);
         } catch (InvalidTargetObjectTypeException e) {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ContextEnvironmentMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ContextEnvironmentMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ContextEnvironmentMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -35,7 +36,7 @@
  * <code>org.apache.catalina.deploy.ContextEnvironment</code> component.</p>
  *
  * @author Amy Roh
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ContextEnvironmentMBean extends BaseModelMBean {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ContextResourceLinkMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ContextResourceLinkMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ContextResourceLinkMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -35,7 +36,7 @@
  * <code>org.apache.catalina.deploy.ContextResourceLink</code> component.</p>
  *
  * @author Amy Roh
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ContextResourceLinkMBean extends BaseModelMBean {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ContextResourceMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ContextResourceMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ContextResourceMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -35,7 +36,7 @@
  * <code>org.apache.catalina.deploy.ContextResource</code> component.</p>
  *
  * @author Amy Roh
- * @version $Revision: 303032 $ $Date: 2004-07-26 11:04:02 -0500 (Mon, 26 Jul 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ContextResourceMBean extends BaseModelMBean {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/DefaultContextMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/DefaultContextMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/DefaultContextMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -38,7 +39,7 @@
  * <code>org.apache.catalina.core.StandardDefaultContext</code> component.</p>
  *
  * @author Amy Roh
- * @version $Revision: 303133 $ $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class DefaultContextMBean extends BaseModelMBean {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -42,7 +43,7 @@
  * management.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302983 $ $Date: 2004-06-25 18:56:25 -0500 (Fri, 25 Jun 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/GroupMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/GroupMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/GroupMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -39,7 +40,7 @@
  * <code>org.apache.catalina.Group</code> component.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302833 $ $Date: 2004-04-14 20:44:09 -0500 (Wed, 14 Apr 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class GroupMBean extends BaseModelMBean {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2002,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -54,7 +55,6 @@
 import org.apache.catalina.valves.RequestDumperValve;
 import org.apache.catalina.valves.ValveBase;
 import org.apache.commons.modeler.BaseModelMBean;
-import org.apache.commons.modeler.Registry;
 
 
 /**
@@ -62,7 +62,7 @@
  * <code>org.apache.catalina.core.StandardServer</code> component.</p>
  *
  * @author Amy Roh
- * @version $Revision: 440749 $ $Date: 2006-09-06 11:06:18 -0500 (Wed, 06 Sep 2006) $
+ * @version $Revision: 505759 $ $Date: 2007-02-10 13:20:48 -0700 (Sat, 10 Feb 2007) $
  */
 
 public class MBeanFactory extends BaseModelMBean {
@@ -75,12 +75,6 @@
      */
     private static MBeanServer mserver = MBeanUtils.createServer();
 
-    /**
-     * The configuration information registry for our managed beans.
-     */
-    private static Registry registry = MBeanUtils.createRegistry();
-
-
     // ----------------------------------------------------------- Constructors
 
 
@@ -308,8 +302,8 @@
      * @exception Exception if an MBean cannot be created or registered
      */
     public String createHttpConnector(String parent, String address, int port)
-        throws Exception {
-	return createConnector(parent, address, port, false, false);
+            throws Exception {
+        return createConnector(parent, address, port, false, false);
     }
 
     /**
@@ -325,14 +319,17 @@
      */
     private String createConnector(String parent, String address, int port, boolean isAjp, boolean isSSL)
         throws Exception {
-        Connector retobj = new Connector();
+        Connector retobj;
+        if (isAjp) {
+            retobj = new Connector("AJP/1.3");
+        } else {
+            retobj = new Connector("HTTP/1.1");
+        }
         if ((address!=null) && (address.length()>0)) {
             retobj.setProperty("address", address);
         }
         // Set port number
         retobj.setPort(port);
-        // Set the protocol
-        retobj.setProtocol(isAjp ? "AJP/1.3" : "HTTP/1.1");
         // Set SSL
         retobj.setSecure(isSSL);
         retobj.setScheme(isSSL ? "https" : "http");
@@ -371,7 +368,8 @@
      * @exception Exception if an MBean cannot be created or registered
      */
     public String createJDBCRealm(String parent, String driverName, 
-    	String connectionName, String connectionPassword, String connectionURL)
+            String connectionName, String connectionPassword,
+            String connectionURL)
         throws Exception {
 
         // Create a new JDBCRealm instance
@@ -402,17 +400,21 @@
      * Create a new JNDI Realm.
      *
      * @param parent MBean Name of the associated parent component
+     * @param connectionURL URL to connect to directory
+     * @param connectionName Username to use to establish connection
+     * @param connectionPassword Password to authenticate with
      *
      * @exception Exception if an MBean cannot be created or registered
      */
-    public String createJNDIRealm(String parent,String connectionURL,String connectionName,String connectionPassword)
+    public String createJNDIRealm(String parent, String connectionURL,
+            String connectionName,String connectionPassword)
         throws Exception {
 
          // Create a new JNDIRealm instance
         JNDIRealm realm = new JNDIRealm();
-				realm.setConnectionURL(connectionURL);
-				realm.setConnectionName(connectionName);
-				realm.setConnectionPassword(connectionPassword);
+        realm.setConnectionURL(connectionURL);
+        realm.setConnectionName(connectionName);
+        realm.setConnectionPassword(connectionPassword);
         // Add the new instance to its parent component
         ObjectName pname = new ObjectName(parent);
         ContainerBase containerBase = getParentContainerFromParent(pname);
@@ -429,7 +431,7 @@
 
 
     }
-		
+    
   /**
      * Create a new JAAS Realm.
      *
@@ -442,15 +444,14 @@
 
          // Create a new JAASRealm instance
         JAASRealm realm = new JAASRealm();
-				realm.setAppName(appName);
-				realm.setUserClassNames(userClassNames);
-				realm.setRoleClassNames(roleClassNames);
-				if("true".equals(useContextClassLoader)||"TRUE".equals(useContextClassLoader)){
-						realm.setUseContextClassLoader(true);
-				}
-				else{
-						realm.setUseContextClassLoader(false);
-				}
+        realm.setUserClassNames(userClassNames);
+        realm.setRoleClassNames(roleClassNames);
+        if("true".equals(useContextClassLoader) ||
+                "TRUE".equals(useContextClassLoader)){
+            realm.setUseContextClassLoader(true);
+        } else {
+            realm.setUseContextClassLoader(false);
+        }
         // Add the new instance to its parent component
         ObjectName pname = new ObjectName(parent);
         ContainerBase containerBase = getParentContainerFromParent(pname);
@@ -766,7 +767,7 @@
         host.setUnpackWARs(unpackWARs);
         host.setXmlNamespaceAware(xmlNamespaceAware);
         host.setXmlValidation(xmlValidation);
-	
+  
         // add HostConfig for active reloading
         HostConfig hostConfig = new HostConfig();
         host.addLifecycleListener(hostConfig);
@@ -912,7 +913,6 @@
 
         // Acquire a reference to the component to be removed
         ObjectName oname = new ObjectName(name);
-        Server server = ServerFactory.getServer();
         Service service = getService(oname);
         String port = oname.getKeyProperty("port");
         //String address = oname.getKeyProperty("address");
@@ -1102,7 +1102,6 @@
         // Acquire a reference to the component to be removed
         ObjectName oname = new ObjectName(name);
         ContainerBase container = getParentContainerFromChild(oname);
-        String sequence = oname.getKeyProperty("seq");
         Valve[] valves = (Valve[])container.getValves();
         for (int i = 0; i < valves.length; i++) {
             ObjectName voname = ((ValveBase) valves[i]).getObjectName();
@@ -1114,3 +1113,4 @@
 
 }
 
+

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -58,7 +59,7 @@
  *
  * @author Craig R. McClanahan
  * @author Amy Roh
- * @version $Revision: 303558 $ $Date: 2004-12-01 05:17:34 -0600 (Wed, 01 Dec 2004) $
+ * @version $Revision: 479161 $ $Date: 2006-11-25 11:37:02 -0700 (Sat, 25 Nov 2006) $
  */
 
 public class MBeanUtils {
@@ -739,10 +740,6 @@
                     IntrospectionUtils.getProperty(connector, "address");
                 Integer port = (Integer)
                     IntrospectionUtils.getProperty(connector, "port");
-                Service service = connector.getService();
-                String serviceName = null;
-                if (service != null)
-                    serviceName = service.getName();
                 StringBuffer sb = new StringBuffer(domain);
                 sb.append(":type=Connector");
                 sb.append(",port=" + port);
@@ -778,7 +775,6 @@
 
         ObjectName name = null;
         Host host = (Host)context.getParent();
-        Service service = ((Engine)host.getParent()).getService();
         String path = context.getPath();
         if (path.length() < 1)
             path = "/";
@@ -816,8 +812,6 @@
             if (path.length() < 1)
                 path = "/";
             Host host = (Host) ((Context)container).getParent();
-            Engine engine = (Engine) host.getParent();
-            Service service = engine.getService();
             name = new ObjectName(domain + ":type=Environment" + 
                         ",resourcetype=Context,path=" + path + 
                         ",host=" + host.getName() +
@@ -854,8 +848,6 @@
             if (path.length() < 1)
                 path = "/";
             Host host = (Host) ((Context)container).getParent();
-            Engine engine = (Engine) host.getParent();
-            Service service = engine.getService();
             name = new ObjectName(domain + ":type=Resource" +
                         ",resourcetype=Context,path=" + path + 
                         ",host=" + host.getName() +
@@ -895,8 +887,6 @@
             if (path.length() < 1)
                 path = "/";
             Host host = (Host) ((Context)container).getParent();
-            Engine engine = (Engine) host.getParent();
-            Service service = engine.getService();
             name = new ObjectName(domain + ":type=ResourceLink" +
                         ",resourcetype=Context,path=" + path + 
                         ",host=" + host.getName() +
@@ -965,8 +955,6 @@
         throws MalformedObjectNameException {
 
         ObjectName name = null;
-        Engine engine = (Engine)host.getParent();
-        Service service = engine.getService();
         name = new ObjectName(domain + ":type=Host,host=" +
                               host.getName());
         return (name);
@@ -991,11 +979,8 @@
         Container container = loader.getContainer();
 
         if (container instanceof Engine) {
-            Service service = ((Engine)container).getService();
             name = new ObjectName(domain + ":type=Loader");
         } else if (container instanceof Host) {
-            Engine engine = (Engine) container.getParent();
-            Service service = engine.getService();
             name = new ObjectName(domain + ":type=Loader,host=" +
                               container.getName());
         } else if (container instanceof Context) {
@@ -1004,8 +989,6 @@
                 path = "/";
             }
             Host host = (Host) container.getParent();
-            Engine engine = (Engine) host.getParent();
-            Service service = engine.getService();
             name = new ObjectName(domain + ":type=Loader,path=" + path +
                               ",host=" + host.getName());
         }
@@ -1032,11 +1015,8 @@
         Container container = manager.getContainer();
 
         if (container instanceof Engine) {
-            Service service = ((Engine)container).getService();
             name = new ObjectName(domain + ":type=Manager");
         } else if (container instanceof Host) {
-            Engine engine = (Engine) container.getParent();
-            Service service = engine.getService();
             name = new ObjectName(domain + ":type=Manager,host=" +
                               container.getName());
         } else if (container instanceof Context) {
@@ -1045,8 +1025,6 @@
                 path = "/";
             }
             Host host = (Host) container.getParent();
-            Engine engine = (Engine) host.getParent();
-            Service service = engine.getService();
             name = new ObjectName(domain + ":type=Manager,path=" + path +
                               ",host=" + host.getName());
         }
@@ -1079,8 +1057,6 @@
             if (path.length() < 1)
                 path = "/";
             Host host = (Host) ((Context)container).getParent();
-            Engine engine = (Engine) host.getParent();
-            Service service = engine.getService();
             name = new ObjectName(domain + ":type=NamingResources" + 
                         ",resourcetype=Context,path=" + path + 
                         ",host=" + host.getName());
@@ -1128,11 +1104,8 @@
         Container container = realm.getContainer();
 
         if (container instanceof Engine) {
-            Service service = ((Engine)container).getService();
             name = new ObjectName(domain + ":type=Realm");
         } else if (container instanceof Host) {
-            Engine engine = (Engine) container.getParent();
-            Service service = engine.getService();
             name = new ObjectName(domain + ":type=Realm,host=" +
                               container.getName());
         } else if (container instanceof Context) {
@@ -1141,8 +1114,6 @@
                 path = "/";
             }
             Host host = (Host) container.getParent();
-            Engine engine = (Engine) host.getParent();
-            Service service = engine.getService();
             name = new ObjectName(domain + ":type=Realm,path=" + path +
                               ",host=" + host.getName());
         }
@@ -1291,7 +1262,6 @@
                                valve);
         }        
         if (container instanceof Engine) {
-            Service service = ((Engine)container).getService();
             String local="";
             int seq = getSeq(local);
             String ext="";
@@ -1301,7 +1271,6 @@
             name = new ObjectName(domain + ":type=Valve,name=" + className + 
                                     ext + local );
         } else if (container instanceof Host) {
-            Service service = ((Engine)container.getParent()).getService();
             String local=",host=" +container.getName();
             int seq = getSeq(local);
             String ext="";
@@ -1316,7 +1285,6 @@
                 path = "/";
             }
             Host host = (Host) container.getParent();
-            Service service = ((Engine) host.getParent()).getService();
             String local=",path=" + path + ",host=" +
                     host.getName();
             int seq = getSeq(local);

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -38,7 +39,7 @@
  * <code>org.apache.catalina.users.MemoryUserDatabase</code> component.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302833 $ $Date: 2004-04-14 20:44:09 -0500 (Wed, 14 Apr 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class MemoryUserDatabaseMBean extends BaseModelMBean {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/NamingResourcesMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/NamingResourcesMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/NamingResourcesMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -37,7 +38,7 @@
  * <code>org.apache.catalina.deploy.NamingResources</code> component.</p>
  *
  * @author Amy Roh
- * @version $Revision: 303133 $ $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class NamingResourcesMBean extends BaseModelMBean {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/RoleMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/RoleMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/RoleMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  * <code>org.apache.catalina.Role</code> component.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class RoleMBean extends BaseModelMBean {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -58,7 +59,7 @@
  *
  * @author Craig R. McClanahan
  * @author Amy Roh
- * @version $Revision: 303365 $ $Date: 2004-10-06 11:10:57 -0500 (Wed, 06 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ServerLifecycleListener

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardContextMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardContextMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardContextMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -38,7 +39,7 @@
  * <code>org.apache.catalina.core.StandardContext</code> component.</p>
  *
  * @author Amy Roh
- * @version $Revision: 303133 $ $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class StandardContextMBean extends BaseModelMBean {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardEngineMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardEngineMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardEngineMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,6 @@
 
 
 import javax.management.MBeanException;
-import javax.management.MBeanServer;
 import javax.management.RuntimeOperationsException;
 
 import org.apache.commons.modeler.BaseModelMBean;
@@ -29,16 +29,11 @@
  * <code>org.apache.catalina.core.StandardEngine</code> component.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479161 $ $Date: 2006-11-25 11:37:02 -0700 (Sat, 25 Nov 2006) $
  */
 
 public class StandardEngineMBean extends BaseModelMBean {
 
-    /**
-     * The <code>MBeanServer</code> for this application.
-     */
-    private static MBeanServer mserver = MBeanUtils.createServer();
-    
     // ----------------------------------------------------------- Constructors
 
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardHostMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardHostMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardHostMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -33,7 +34,7 @@
  * <code>org.apache.catalina.core.StandardHost</code> component.</p>
  *
  * @author Amy Roh
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class StandardHostMBean extends BaseModelMBean {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,6 @@
 
 import javax.management.InstanceNotFoundException;
 import javax.management.MBeanException;
-import javax.management.MBeanServer;
 import javax.management.RuntimeOperationsException;
 import org.apache.catalina.Server;
 import org.apache.catalina.ServerFactory;
@@ -32,21 +32,12 @@
  * <code>org.apache.catalina.core.StandardServer</code> component.</p>
  *
  * @author Amy Roh
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479161 $ $Date: 2006-11-25 11:37:02 -0700 (Sat, 25 Nov 2006) $
  */
 
 public class StandardServerMBean extends BaseModelMBean {
 
 
-    // ------------------------------------------------------- Static Variables
-
-
-    /**
-     * The <code>MBeanServer</code> for this application.
-     */
-    private static MBeanServer mserver = MBeanUtils.createServer();
-
-
     // ----------------------------------------------------------- Constructors
 
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardServiceMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardServiceMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/StandardServiceMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,6 @@
 
 
 import javax.management.MBeanException;
-import javax.management.MBeanServer;
 import javax.management.RuntimeOperationsException;
 
 import org.apache.commons.modeler.BaseModelMBean;
@@ -29,15 +29,10 @@
  * <code>org.apache.catalina.core.StandardService</code> component.</p>
  *
  * @author Amy Roh
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479161 $ $Date: 2006-11-25 11:37:02 -0700 (Sat, 25 Nov 2006) $
  */
 
 public class StandardServiceMBean extends BaseModelMBean {
-
-    /**
-     * The <code>MBeanServer</code> for this application.
-     */
-    private static MBeanServer mserver = MBeanUtils.createServer();
     
     // ----------------------------------------------------------- Constructors
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/UserMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/UserMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/UserMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -39,7 +40,7 @@
  * <code>org.apache.catalina.User</code> component.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302833 $ $Date: 2004-04-14 20:44:09 -0500 (Wed, 14 Apr 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class UserMBean extends BaseModelMBean {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -119,36 +119,37 @@
            returnType="java.lang.String">
       <parameter name="parent"
           description="MBean Name of the associated parent component"
-					type="java.lang.String"/>
-	    <parameter name="connectionURL"
+                 type="java.lang.String"/>
+      <parameter name="connectionURL"
           description="Jndi Connection URL"
-					type="java.lang.String"/>
-	    <parameter name="connectionName"
+                 type="java.lang.String"/>
+      <parameter name="connectionName"
           description="Connection name"
-					type="java.lang.String"/>
-	    <parameter name="connectionPassword"
+                 type="java.lang.String"/>
+      <parameter name="connectionPassword"
           description="Connection password"
-					type="java.lang.String"/>
+                 type="java.lang.String"/>
     </operation>
+
     <operation   name="createJAASRealm"
           description="Create a new Jaas Realm"
                impact="ACTION"
            returnType="java.lang.String">
       <parameter name="parent"
           description="MBean Name of the associated parent component"
-					type="java.lang.String"/>
-	    <parameter name="appName"
+                 type="java.lang.String"/>
+      <parameter name="appName"
           description="App name"
-					type="java.lang.String"/>
-	    <parameter name="userClassNames"
+                 type="java.lang.String"/>
+      <parameter name="userClassNames"
           description="Users class names."
-					type="java.lang.String"/>
-	    <parameter name="roleClassNames"
+                 type="java.lang.String"/>
+      <parameter name="roleClassNames"
           description="Role classNames"
-					type="java.lang.String"/>
-	    <parameter name="useContextClassLoader"
+                 type="java.lang.String"/>
+      <parameter name="useContextClassLoader"
           description="Whether use context classloader"
-					type="java.lang.String"/>
+                 type="java.lang.String"/>
     </operation>
 
     <operation   name="createMemoryRealm"

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
  *
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class Constants {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/DataSourceRealm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/DataSourceRealm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/DataSourceRealm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -44,7 +45,7 @@
 * @author Craig R. McClanahan
 * @author Carson McDonald
 * @author Ignacio Ortega
-* @version $Revision: 394121 $
+* @version $Revision: 466608 $
 */
 
 public class DataSourceRealm

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/GenericPrincipal.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/GenericPrincipal.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/GenericPrincipal.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * is available for use by <code>Realm</code> implementations.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303827 $ $Date: 2005-04-01 05:36:52 -0600 (Fri, 01 Apr 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class GenericPrincipal implements Principal {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JAASCallbackHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JAASCallbackHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JAASCallbackHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -44,7 +45,7 @@
  *
  * @author Craig R. McClanahan
  * @author Andrew R. Jaquith
- * @version $Revision: 303719 $ $Date: 2005-02-18 17:43:20 -0600 (Fri, 18 Feb 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class JAASCallbackHandler implements CallbackHandler {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JAASMemoryLoginModule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JAASMemoryLoginModule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JAASMemoryLoginModule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -72,7 +73,7 @@
  * the functionality required of a <code>Realm</code> implementation.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303719 $ $Date: 2005-02-18 17:43:20 -0600 (Fri, 18 Feb 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class JAASMemoryLoginModule extends MemoryRealm implements LoginModule, Realm {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JAASRealm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JAASRealm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JAASRealm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -119,7 +120,7 @@
 *
 * @author Craig R. McClanahan
 * @author Yoav Shapira
- * @version $Revision: 303827 $ $Date: 2005-04-01 05:36:52 -0600 (Fri, 01 Apr 2005) $
+ * @version $Revision: 469025 $ $Date: 2006-10-29 17:53:00 -0600 (Sun, 29 Oct 2006) $
  */
 
 public class JAASRealm
@@ -460,7 +461,6 @@
      */
     protected Principal createPrincipal(String username, Subject subject) {
         // Prepare to scan the Principals for this Subject
-        String password = null; // Will not be carried forward
 
         List roles = new ArrayList();
         Principal userPrincipal = null;

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JDBCRealm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JDBCRealm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JDBCRealm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -38,13 +39,14 @@
 * for configuration options.
 *
 * <p><strong>TODO</strong> - Support connection pooling (including message
-* format objects) so that <code>authenticate()</code> does not have to be
+* format objects) so that <code>authenticate()</code>,
+* <code>getPassword()</code> and <code>roles()</code>  do not have to be
 * synchronized and would fix the ugly connection logic. </p>
 *
 * @author Craig R. McClanahan
 * @author Carson McDonald
 * @author Ignacio Ortega
-* @version $Revision: 373023 $ $Date: 2006-01-27 17:17:43 -0600 (Fri, 27 Jan 2006) $
+* @version $Revision: 473837 $ $Date: 2006-11-11 17:18:32 -0700 (Sat, 11 Nov 2006) $
 */
 
 public class JDBCRealm
@@ -519,7 +521,7 @@
     /**
      * Return the password associated with the given principal's user name.
      */
-    protected String getPassword(String username) {
+    protected synchronized String getPassword(String username) {
 
         // Look up the user's credentials
         String dbCredentials = null;
@@ -724,7 +726,8 @@
      *
      * @exception SQLException if a database error occurs
      */
-    protected PreparedStatement roles(Connection dbConnection, String username)
+    protected synchronized PreparedStatement roles(Connection dbConnection,
+            String username)
         throws SQLException {
 
         if (preparedRoles == null) {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JNDIRealm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JNDIRealm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/JNDIRealm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2002,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -149,7 +150,7 @@
  *
  * @author John Holman
  * @author Craig R. McClanahan
- * @version $Revision: 373029 $ $Date: 2006-01-27 17:27:16 -0600 (Fri, 27 Jan 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class JNDIRealm extends RealmBase {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,6 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.catalina.Container;
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.util.StringManager;
 import org.apache.commons.logging.Log;
@@ -42,7 +42,7 @@
  * synchronization is performed around accesses to the principals collection.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 373023 $ $Date: 2006-01-27 17:17:43 -0600 (Fri, 27 Jan 2006) $
+ * @version $Revision: 469025 $ $Date: 2006-10-29 17:53:00 -0600 (Sun, 29 Oct 2006) $
  */
 
 public class MemoryRealm  extends RealmBase {
@@ -53,12 +53,6 @@
 
 
     /**
-     * The Container with which this Realm is associated.
-     */
-    private Container container = null;
-
-
-    /**
      * The Digester we will use to process in-memory database files.
      */
     private static Digester digester = null;
@@ -98,12 +92,6 @@
         StringManager.getManager(Constants.Package);
 
 
-    /**
-     * Has this component been started?
-     */
-    private boolean started = false;
-
-
     // ------------------------------------------------------------- Properties
 
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/MemoryRuleSet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/MemoryRuleSet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/MemoryRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * XML file processed by <code>MemoryRealm</code>.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302984 $ $Date: 2004-06-26 12:41:33 -0500 (Sat, 26 Jun 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class MemoryRuleSet extends RuleSetBase {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/RealmBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/RealmBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/RealmBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -60,7 +61,7 @@
  * location) are identical to those currently supported by Tomcat 3.X.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 388949 $ $Date: 2006-03-26 13:55:03 -0600 (Sun, 26 Mar 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public abstract class RealmBase

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -43,7 +44,7 @@
  * of <code>UserDatabase</code> that we should consult.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 441855 $ $Date: 2006-09-09 16:09:49 -0500 (Sat, 09 Sep 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/security/SecurityClassLoad.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/security/SecurityClassLoad.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/security/SecurityClassLoad.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  *
  * @author Glenn L. Nielsen
  * @author Jean-Francois Arcand
- * @version $Revision: 304042 $ $Date: 2005-08-04 01:07:46 -0500 (Thu, 04 Aug 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class SecurityClassLoad {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/security/SecurityConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/security/SecurityConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/security/SecurityConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/security/SecurityUtil.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/security/SecurityUtil.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/security/SecurityUtil.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/CGIServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/CGIServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/CGIServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -234,7 +235,7 @@
  *
  * @author Martin T Dengler [root at martindengler.com]
  * @author Amy Roh
- * @version $Revision: 424503 $, $Date: 2006-07-21 19:19:37 -0500 (Fri, 21 Jul 2006) $
+ * @version $Revision: 505740 $, $Date: 2007-02-10 11:45:24 -0700 (Sat, 10 Feb 2007) $
  * @since Tomcat 4.0
  *
  */
@@ -309,7 +310,6 @@
         } catch (Throwable t) {
             //NOOP
         }
-        log("init: loglevel set to " + debug);
 
         if (passShellEnvironment) {
             try {
@@ -707,7 +707,7 @@
      * <p>
      * </p>
      *
-     * @version  $Revision: 424503 $, $Date: 2006-07-21 19:19:37 -0500 (Fri, 21 Jul 2006) $
+     * @version  $Revision: 505740 $, $Date: 2007-02-10 11:45:24 -0700 (Sat, 10 Feb 2007) $
      * @since    Tomcat 4.0
      *
      */
@@ -807,30 +807,22 @@
                 this.pathInfo = this.servletPath;
             }
             
-            // If request is HEAD or GET and Query String does not contain
-            // an unencoded "=" this is an indexed query. Parsed Query String
-            // forms command line parameters for cgi command.
-            if (!"GET".equals(req.getMethod()) &&
-                    !"HEAD".equals(req.getMethod()))
-                return;
-            
-            String qs = req.getQueryString();
-            
-            if (qs == null || qs.indexOf("=")>0)
-                return;
-            
-            int delimIndex = 0;
-            int lastDelimIndex = 0;
-            delimIndex = qs.indexOf("+");
-            
-            while (delimIndex >0) {
-                cmdLineParameters.add(URLDecoder.decode(qs.substring(
-                        lastDelimIndex,delimIndex),parameterEncoding));
-                lastDelimIndex = delimIndex + 1;
-                delimIndex = qs.indexOf("+",lastDelimIndex);
+            // If the request method is GET, POST or HEAD and the query string
+            // does not contain an unencoded "=" this is an indexed query.
+            // The parsed query string becomes the command line parameters
+            // for the cgi command.
+            if (req.getMethod().equals("GET")
+                || req.getMethod().equals("POST")
+                || req.getMethod().equals("HEAD")) {
+                String qs = req.getQueryString();
+                if (qs != null && qs.indexOf("=") == -1) {
+                    StringTokenizer qsTokens = new StringTokenizer(qs, "+");
+                    while ( qsTokens.hasMoreTokens() ) {
+                        cmdLineParameters.add(URLDecoder.decode(qsTokens.nextToken(),
+                                              parameterEncoding));
+                    }
+                }
             }
-            cmdLineParameters.add(URLDecoder.decode(qs.substring(
-                    lastDelimIndex),parameterEncoding));
         }
 
 
@@ -905,7 +897,7 @@
             String path = null;
             String name = null;
             String scriptname = null;
-            String cginame = null;
+            String cginame = "";
 
             if ((webAppRootDir != null)
                 && (webAppRootDir.lastIndexOf(File.separator) ==
@@ -934,8 +926,10 @@
                 if (debug >= 3) {
                     log("findCGI: currentLoc=" + currentLocation);
                 }
-                currentLocation = new File(currentLocation,
-                                           (String) dirWalker.nextElement());
+                String nextElement = (String) dirWalker.nextElement();
+                currentLocation = new File(currentLocation, nextElement);
+                cginame = cginame + "/" + nextElement;
+                
             }
             if (!currentLocation.isFile()) {
                 return new String[] { null, null, null, null };
@@ -945,16 +939,15 @@
                 }
                 path = currentLocation.getAbsolutePath();
                 name = currentLocation.getName();
-                cginame =
-                currentLocation.getParent().substring(webAppRootDir.length())
-                + File.separator
-                + name;
 
                 if (".".equals(contextPath)) {
-                    scriptname = servletPath + cginame;
+                    scriptname = servletPath;
                 } else {
-                    scriptname = contextPath + servletPath + cginame;
+                    scriptname = contextPath + servletPath;
                 }
+                if (!servletPath.equals(cginame)) {
+                    scriptname = scriptname + cginame;
+                }
             }
 
             if (debug >= 1) {
@@ -1147,6 +1140,8 @@
 
             envp.put("X_TOMCAT_SCRIPT_PATH", command);  //for kicks
 
+            envp.put("SCRIPT_FILENAME", command); // for PHP
+
             this.env = envp;
 
             return true;
@@ -1434,7 +1429,7 @@
      * and <code>setResponse</code> methods, respectively.
      * </p>
      *
-     * @version   $Revision: 424503 $, $Date: 2006-07-21 19:19:37 -0500 (Fri, 21 Jul 2006) $
+     * @version   $Revision: 505740 $, $Date: 2007-02-10 11:45:24 -0700 (Sat, 10 Feb 2007) $
      */
 
     protected class CGIRunner {
@@ -1786,7 +1781,7 @@
             }
             catch (IOException e){
                 log ("Caught exception " + e);
-                throw new IOException (e.toString());
+                throw e;
             }
             finally{
                 if (debug > 4) {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -54,6 +55,7 @@
 import javax.xml.transform.stream.StreamSource;
 
 import org.apache.catalina.Globals;
+import org.apache.catalina.util.RequestUtil;
 import org.apache.catalina.util.ServerInfo;
 import org.apache.catalina.util.StringManager;
 import org.apache.catalina.util.URLEncoder;
@@ -69,7 +71,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 393784 $ $Date: 2006-04-13 06:19:06 -0500 (Thu, 13 Apr 2006) $
+ * @version $Revision: 511716 $ $Date: 2007-02-25 21:06:07 -0700 (Sun, 25 Feb 2007) $
  */
 
 public class DefaultServlet
@@ -218,46 +220,65 @@
         String value = null;
         try {
             value = getServletConfig().getInitParameter("debug");
-            debug = Integer.parseInt(value);
-        } catch (Throwable t) {
-            ;
+            if (value != null) {
+                debug = Integer.parseInt(value);
+            }
+        } catch (Exception e) {
+            log("DefaultServlet.init: couldn't read debug from " + value);
         }
+
         try {
             value = getServletConfig().getInitParameter("input");
-            input = Integer.parseInt(value);
-        } catch (Throwable t) {
-            ;
+            if (value != null) {
+                input = Integer.parseInt(value);
+            }
+        } catch (Exception e) {
+            log("DefaultServlet.init: couldn't read input from " + value);
         }
+
         try {
             value = getServletConfig().getInitParameter("listings");
-            listings = (new Boolean(value)).booleanValue();
-        } catch (Throwable t) {
-            ;
+            if (value != null) {
+                listings = (new Boolean(value)).booleanValue();
+            }
+        } catch (Exception e) {
+            log("DefaultServlet.init: couldn't read listings from " + value);
         }
+
         try {
             value = getServletConfig().getInitParameter("readonly");
-            if (value != null)
+            if (value != null) {
                 readOnly = (new Boolean(value)).booleanValue();
-        } catch (Throwable t) {
-            ;
+            }
+        } catch (Exception e) {
+            log("DefaultServlet.init: couldn't read readonly from " + value);
         }
+
         try {
             value = getServletConfig().getInitParameter("output");
-            output = Integer.parseInt(value);
-        } catch (Throwable t) {
-            ;
+            if (value != null) {
+                output = Integer.parseInt(value);
+            }
+        } catch (Exception e) {
+            log("DefaultServlet.init: couldn't read output from " + value);
         }
+
         try {
             value = getServletConfig().getInitParameter("sendfileSize");
-            sendfileSize = Integer.parseInt(value) * 1024;
-        } catch (Throwable t) {
-            ;
+            if (value != null) {
+                sendfileSize = Integer.parseInt(value) * 1024;
+            }
+        } catch (Exception e) {
+            log("DefaultServlet.init: couldn't read sendfileSize from " + value);
         }
+
         try {
             value = getServletConfig().getInitParameter("fileEncoding");
-            fileEncoding = value;
-        } catch (Throwable t) {
-            ;
+            if (value != null) {
+                fileEncoding = value;
+            }
+        } catch (Exception e) {
+            log("DefaultServlet.init: couldn't read fileEncoding from " + value);
         }
 
         globalXsltFile = getServletConfig().getInitParameter("globalXsltFile");
@@ -282,6 +303,7 @@
         } catch(ClassCastException e) {
             // Failed : Not the right type
         }
+
         if (resources == null) {
             try {
                 resources =
@@ -457,6 +479,15 @@
             result = false;
         }
 
+        // Bugzilla 40326: at this point content file should be safe to delete
+        // as it's no longer referenced.  Let's not rely on deleteOnExit because
+        // it's a memory leak, as noted in this Bugzilla issue.
+        try {
+            contentFile.delete();
+        } catch (Exception e) {
+            log("DefaultServlet.doPut: couldn't delete temporary file: " + e.getMessage());
+        }
+
         if (result) {
             if (exists) {
                 resp.setStatus(HttpServletResponse.SC_NO_CONTENT);
@@ -487,10 +518,7 @@
         // Convert all '/' characters to '.' in resourcePath
         String convertedResourcePath = path.replace('/', '.');
         File contentFile = new File(tempDir, convertedResourcePath);
-        if (contentFile.createNewFile()) {
-            // Clean up contentFile when Tomcat is terminated
-            contentFile.deleteOnExit();
-        }
+        contentFile.createNewFile();
 
         RandomAccessFile randAccessContentFile =
             new RandomAccessFile(contentFile, "rw");
@@ -501,6 +529,7 @@
             if (obj instanceof Resource)
                 oldResource = (Resource) obj;
         } catch (NamingException e) {
+            log("DefaultServlet.executePartialPut: couldn't find resource at " + path);
         }
 
         // Copy data in oldRevisionContent to contentFile
@@ -788,7 +817,8 @@
                 // If it fails, we try to get a Writer instead if we're
                 // trying to serve a text file
                 if ( (contentType == null)
-                     || (contentType.startsWith("text")) ) {
+                     || (contentType.startsWith("text"))
+                     || (contentType.endsWith("xml")) ) {
                     writer = response.getWriter();
                 } else {
                     throw e;
@@ -1205,7 +1235,7 @@
                   .append("'");
 
                 sb.append(">");
-                sb.append(trimmed);
+                sb.append(RequestUtil.filter(trimmed));
                 if (childCacheEntry.context != null)
                     sb.append("/");
                 sb.append("</entry>");
@@ -1374,7 +1404,7 @@
                 if (childCacheEntry.context != null)
                     sb.append("/");
                 sb.append("\"><tt>");
-                sb.append(trimmed);
+                sb.append(RequestUtil.filter(trimmed));
                 if (childCacheEntry.context != null)
                     sb.append("/");
                 sb.append("</tt></a></td>\r\n");
@@ -1454,10 +1484,10 @@
 
                     return buffer.toString();
                  }
-             } catch(Throwable e) {
-                 ; /* Should only be IOException or NamingException
-                    * can be ignored
-                    */
+             } catch(IOException ioe) {
+                 log("DefaultServlet.getReadme: IO exception: " + ioe.getMessage());
+             } catch (NamingException ne) {
+                 log("DefaultServlet.getReadme: Naming exception: " + ne.getMessage());
              }
         }
 
@@ -1478,10 +1508,10 @@
                     if (is!=null)
                         return is;
                 }
-             } catch(Throwable e) {
-                 ; /* Should only be IOException or NamingException
-                    * can be ignored
-                    */
+            } catch(IOException ioe) {
+                log("DefaultServlet.findXsltInputStream: IO exception: " + ioe.getMessage());
+            } catch (NamingException ne) {
+                log("DefaultServlet.findXsltInputStream: Naming exception: " + ne.getMessage());
              }
         }
 
@@ -1499,15 +1529,17 @@
                     fis.read(b);
                     return new ByteArrayInputStream(b);
                 }
-            } catch(Throwable e) {
-                log("This shouldn't happen (?)...", e);
+            } catch(Exception e) {
+                log("DefaultServlet.findXsltInputStream: can't read "
+                    + globalXsltFile);
                 return null;
             } finally {
                 try {
                     if (fis!=null)
                         fis.close();
-                } catch(Throwable e){
-                    ;
+                } catch(Exception e) {
+                    log("DefaultServlet.findXsltInputStream: "
+                        + " exception closing input stream: " + e.getMessage());
                 }
             }
         }
@@ -1617,7 +1649,7 @@
                 // If an If-None-Match header has been specified, if modified since
                 // is ignored.
                 if ((request.getHeader("If-None-Match") == null)
-                    && (lastModified <= headerValue + 1000)) {
+                    && (lastModified < headerValue + 1000)) {
                     // The entity has not been modified since the date
                     // specified by the client. This is not an error case.
                     response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
@@ -1708,7 +1740,7 @@
             long lastModified = resourceAttributes.getLastModified();
             long headerValue = request.getDateHeader("If-Unmodified-Since");
             if (headerValue != -1) {
-                if ( lastModified > (headerValue + 1000)) {
+                if ( lastModified >= (headerValue + 1000)) {
                     // The entity has not been modified since the date
                     // specified by the client. This is not an error case.
                     response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED);
@@ -1762,14 +1794,15 @@
         // Clean up the input stream
         try {
             istream.close();
-        } catch (Throwable t) {
-            ;
+        } catch (Exception e) {
+            log("DefaultServlet.copy: exception closing input stream: "
+                + e.getMessage());
         }
 
         // Rethrow any exception that has occurred
-        if (exception != null)
+        if (exception != null) {
             throw exception;
-
+        }
     }
 
 
@@ -1809,14 +1842,15 @@
         // Clean up the reader
         try {
             reader.close();
-        } catch (Throwable t) {
-            ;
+        } catch (Exception e) {
+            log("DefaultServlet.copy: exception closing reader: "
+                + e.getMessage());
         }
 
         // Rethrow any exception that has occurred
-        if (exception != null)
+        if (exception != null) {
             throw exception;
-
+        }
     }
 
 
@@ -1844,14 +1878,15 @@
         // Clean up the input stream
         try {
             istream.close();
-        } catch (Throwable t) {
-            ;
+        } catch (Exception e) {
+            log("DefaultServlet.copy: exception closing input stream: "
+                + e.getMessage());
         }
 
         // Rethrow any exception that has occurred
-        if (exception != null)
+        if (exception != null) {
             throw exception;
-
+        }
     }
 
 
@@ -1886,14 +1921,15 @@
         // Clean up the input stream
         try {
             reader.close();
-        } catch (Throwable t) {
-            ;
+        } catch (Exception e) {
+            log("DefaultServlet.copy: exception closing reader: "
+                + e.getMessage());
         }
 
         // Rethrow any exception that has occurred
-        if (exception != null)
+        if (exception != null) {
             throw exception;
-
+        }
     }
 
 
@@ -1938,8 +1974,9 @@
 
             try {
                 istream.close();
-            } catch (Throwable t) {
-                ;
+            } catch (Exception e) {
+                log("DefaultServlet.copy: exception closing input stream: "
+                    + e.getMessage());
             }
 
         }
@@ -1948,9 +1985,9 @@
         ostream.print("--" + mimeSeparation + "--");
 
         // Rethrow any exception that has occurred
-        if (exception != null)
+        if (exception != null) {
             throw exception;
-
+        }
     }
 
 
@@ -2001,8 +2038,9 @@
 
             try {
                 reader.close();
-            } catch (Throwable t) {
-                ;
+            } catch (Exception e) {
+                log("DefaultServlet.copy: exception closing reader: "
+                    + e.getMessage());
             }
 
         }
@@ -2011,9 +2049,9 @@
         writer.print("--" + mimeSeparation + "--");
 
         // Rethrow any exception that has occurred
-        if (exception != null)
+        if (exception != null) {
             throw exception;
-
+        }
     }
 
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/InvokerHttpRequest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/InvokerHttpRequest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/InvokerHttpRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * to the servlet, because a new servlet mapping will have been created.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303211 $ $Date: 2004-09-08 05:38:14 -0500 (Wed, 08 Sep 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 class InvokerHttpRequest extends HttpServletRequestWrapper {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/InvokerServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/InvokerServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/InvokerServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -40,7 +41,7 @@
  * in the web application deployment descriptor.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class InvokerServlet

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -24,9 +25,13 @@
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.text.SimpleDateFormat;
+import java.util.Collections;
 import java.util.Date;
 import java.util.Enumeration;
 import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
 import java.util.Stack;
 import java.util.TimeZone;
 import java.util.Vector;
@@ -64,17 +69,16 @@
  * Servlet which adds support for WebDAV level 2. All the basic HTTP requests
  * are handled by the DefaultServlet.
  *
+ * Check out http://issues.apache.org/bugzilla/show_bug.cgi?id=40160 for a Filter
+ * that allows you to map this servlet anywhere inside a web application, not just
+ * the /* URL pattern.
+ *
  * @author Remy Maucherat
- * @version $Revision: 303599 $ $Date: 2004-12-20 12:54:14 -0600 (Mon, 20 Dec 2004) $
+ * @version $Revision: 490301 $ $Date: 2006-12-26 07:22:13 -0700 (Tue, 26 Dec 2006) $
  */
 
-public class WebdavServlet
-    extends DefaultServlet {
-
-
+public class WebdavServlet  extends DefaultServlet {
     // -------------------------------------------------------------- Constants
-
-
     private static final String METHOD_HEAD = "HEAD";
     private static final String METHOD_PROPFIND = "PROPFIND";
     private static final String METHOD_PROPPATCH = "PROPPATCH";
@@ -86,7 +90,7 @@
 
 
     /**
-     * Default depth is infite.
+     * Default depth is infinite.
      */
     private static final int INFINITY = 3; // To limit tree browsing a bit
 
@@ -158,7 +162,7 @@
     protected static final MD5Encoder md5Encoder = new MD5Encoder();
 
 
-
+    /** Static initializers for the GMT time zone. */
     static {
         creationDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
     }
@@ -170,10 +174,10 @@
     /**
      * Repository of the locks put on single resources.
      * <p>
-     * Key : path <br>
+     * Key : path <br />
      * Value : LockInfo
      */
-    private Hashtable resourceLocks = new Hashtable();
+    private Map resourceLocks = new Hashtable();
 
 
     /**
@@ -184,7 +188,7 @@
      * collection. Each element of the Vector is the path associated with
      * the lock-null resource.
      */
-    private Hashtable lockNullResources = new Hashtable();
+    private Map lockNullResources = new Hashtable();
 
 
     /**
@@ -193,7 +197,7 @@
      * Key : path <br>
      * Value : LockInfo
      */
-    private Vector collectionLocks = new Vector();
+    private List collectionLocks = new Vector();
 
 
     /**
@@ -216,10 +220,11 @@
         String value = null;
         try {
             value = getServletConfig().getInitParameter("secret");
-            if (value != null)
+            if (value != null) {
                 secret = value;
-        } catch (Throwable t) {
-            ;
+            }
+        } catch (Exception e) {
+            log("WebdavServlet.init: error reading secret from " + value);
         }
 
 
@@ -364,7 +369,7 @@
         }
 
         // Properties which are to be displayed.
-        Vector properties = null;
+        List properties = null;
         // Propfind depth
         int depth = INFINITY;
         // Propfind type
@@ -439,7 +444,7 @@
                         propertyName = nodeName;
                     }
                     // href is a live property which is handled differently
-                    properties.addElement(propertyName);
+                    properties.add(propertyName);
                     break;
                 }
             }
@@ -455,14 +460,12 @@
             int slash = path.lastIndexOf('/');
             if (slash != -1) {
                 String parentPath = path.substring(0, slash);
-                Vector currentLockNullResources =
-                    (Vector) lockNullResources.get(parentPath);
+                List currentLockNullResources =
+                    (List) lockNullResources.get(parentPath);
                 if (currentLockNullResources != null) {
-                    Enumeration lockNullResourcesList =
-                        currentLockNullResources.elements();
-                    while (lockNullResourcesList.hasMoreElements()) {
-                        String lockNullPath = (String)
-                            lockNullResourcesList.nextElement();
+                    Iterator iter = currentLockNullResources.iterator();
+                    while (iter.hasNext()) {
+                        String lockNullPath = (String) iter.next();
                         if (lockNullPath.equals(path)) {
                             resp.setStatus(WebdavStatus.SC_MULTI_STATUS);
                             resp.setContentType("text/xml; charset=UTF-8");
@@ -541,6 +544,7 @@
                             stackBelow.push(newPath);
                         }
                     } catch (NamingException e) {
+                        log("WebdavServlet: naming exception processing " + currentPath);
                         resp.sendError
                             (HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
                              path);
@@ -553,14 +557,12 @@
                     if (lockPath.endsWith("/"))
                         lockPath =
                             lockPath.substring(0, lockPath.length() - 1);
-                    Vector currentLockNullResources =
-                        (Vector) lockNullResources.get(lockPath);
+                    List currentLockNullResources =
+                        (List) lockNullResources.get(lockPath);
                     if (currentLockNullResources != null) {
-                        Enumeration lockNullResourcesList =
-                            currentLockNullResources.elements();
-                        while (lockNullResourcesList.hasMoreElements()) {
-                            String lockNullPath = (String)
-                                lockNullResourcesList.nextElement();
+                        Iterator iter = currentLockNullResources.iterator();
+                        while (iter.hasNext()) {
+                            String lockNullPath = (String) iter.next();
                             parseLockNullProperties
                                 (req, generatedXML, lockNullPath, type,
                                  properties);
@@ -1000,8 +1002,6 @@
             exists = false;
         }
 
-        Enumeration locksList = null;
-
         if (lockRequestType == LOCK_CREATION) {
 
             // Generating lock id
@@ -1020,10 +1020,11 @@
 
                 // Checking if a child resource of this collection is
                 // already locked
-                Vector lockPaths = new Vector();
-                locksList = collectionLocks.elements();
-                while (locksList.hasMoreElements()) {
-                    LockInfo currentLock = (LockInfo) locksList.nextElement();
+                List lockPaths = new Vector();
+
+                Iterator iter = collectionLocks.iterator();
+                while (iter.hasNext()) {
+                    LockInfo currentLock = (LockInfo) iter.next();
                     if (currentLock.hasExpired()) {
                         resourceLocks.remove(currentLock.path);
                         continue;
@@ -1032,10 +1033,14 @@
                          ((currentLock.isExclusive()) ||
                           (lock.isExclusive())) ) {
                         // A child collection of this collection is locked
-                        lockPaths.addElement(currentLock.path);
+                        lockPaths.add(currentLock.path);
                     }
                 }
-                locksList = resourceLocks.elements();
+
+                // Yikes: modifying the collection not by the iterator's object,
+                // but by one of its attributes.  That means we can't use a
+                // normal java.util.Iterator here, because Iterator is fail-fast. ;(
+                Enumeration locksList = Collections.enumeration(resourceLocks.values());
                 while (locksList.hasMoreElements()) {
                     LockInfo currentLock = (LockInfo) locksList.nextElement();
                     if (currentLock.hasExpired()) {
@@ -1046,17 +1051,13 @@
                          ((currentLock.isExclusive()) ||
                           (lock.isExclusive())) ) {
                         // A child resource of this collection is locked
-                        lockPaths.addElement(currentLock.path);
+                        lockPaths.add(currentLock.path);
                     }
                 }
 
                 if (!lockPaths.isEmpty()) {
-
                     // One of the child paths was locked
                     // We generate a multistatus error report
-
-                    Enumeration lockPathsList = lockPaths.elements();
-
                     resp.setStatus(WebdavStatus.SC_CONFLICT);
 
                     XMLWriter generatedXML = new XMLWriter();
@@ -1066,13 +1067,15 @@
                         (null, "multistatus" + generateNamespaceDeclarations(),
                          XMLWriter.OPENING);
 
-                    while (lockPathsList.hasMoreElements()) {
+
+                    iter = lockPaths.iterator();
+                    while (iter.hasNext()) {
                         generatedXML.writeElement(null, "response",
                                                   XMLWriter.OPENING);
                         generatedXML.writeElement(null, "href",
                                                   XMLWriter.OPENING);
                         generatedXML
-                            .writeText((String) lockPathsList.nextElement());
+                            .writeText((String) iter.next());
                         generatedXML.writeElement(null, "href",
                                                   XMLWriter.CLOSING);
                         generatedXML.writeElement(null, "status",
@@ -1102,12 +1105,10 @@
                 boolean addLock = true;
 
                 // Checking if there is already a shared lock on this path
-                locksList = collectionLocks.elements();
-                while (locksList.hasMoreElements()) {
-
-                    LockInfo currentLock = (LockInfo) locksList.nextElement();
+                iter = collectionLocks.iterator();
+                while (iter.hasNext()) {
+                    LockInfo currentLock = (LockInfo) iter.next();
                     if (currentLock.path.equals(lock.path)) {
-
                         if (currentLock.isExclusive()) {
                             resp.sendError(WebdavStatus.SC_LOCKED);
                             return;
@@ -1118,17 +1119,15 @@
                             }
                         }
 
-                        currentLock.tokens.addElement(lockToken);
+                        currentLock.tokens.add(lockToken);
                         lock = currentLock;
                         addLock = false;
-
                     }
-
                 }
 
                 if (addLock) {
-                    lock.tokens.addElement(lockToken);
-                    collectionLocks.addElement(lock);
+                    lock.tokens.add(lockToken);
+                    collectionLocks.add(lock);
                 }
 
             } else {
@@ -1145,13 +1144,13 @@
                         resp.sendError(WebdavStatus.SC_PRECONDITION_FAILED);
                         return;
                     } else {
-                        presentLock.tokens.addElement(lockToken);
+                        presentLock.tokens.add(lockToken);
                         lock = presentLock;
                     }
 
                 } else {
 
-                    lock.tokens.addElement(lockToken);
+                    lock.tokens.add(lockToken);
                     resourceLocks.put(lock.path, lock);
 
                     // Checking if a resource exists at this path
@@ -1167,14 +1166,14 @@
                         int slash = lock.path.lastIndexOf('/');
                         String parentPath = lock.path.substring(0, slash);
 
-                        Vector lockNulls =
-                            (Vector) lockNullResources.get(parentPath);
+                        List lockNulls =
+                            (List) lockNullResources.get(parentPath);
                         if (lockNulls == null) {
                             lockNulls = new Vector();
                             lockNullResources.put(parentPath, lockNulls);
                         }
 
-                        lockNulls.addElement(lock.path);
+                        lockNulls.add(lock.path);
 
                     }
                     // Add the Lock-Token header as by RFC 2518 8.10.1
@@ -1196,14 +1195,11 @@
             // Checking resource locks
 
             LockInfo toRenew = (LockInfo) resourceLocks.get(path);
-            Enumeration tokenList = null;
             if (lock != null) {
-
                 // At least one of the tokens of the locks must have been given
-
-                tokenList = toRenew.tokens.elements();
-                while (tokenList.hasMoreElements()) {
-                    String token = (String) tokenList.nextElement();
+                Iterator iter = toRenew.tokens.iterator();
+                while (iter.hasNext()) {
+                    String token = (String) iter.next();
                     if (ifHeader.indexOf(token) != -1) {
                         toRenew.expiresAt = lock.expiresAt;
                         lock = toRenew;
@@ -1213,15 +1209,13 @@
             }
 
             // Checking inheritable collection locks
-
-            Enumeration collectionLocksList = collectionLocks.elements();
-            while (collectionLocksList.hasMoreElements()) {
-                toRenew = (LockInfo) collectionLocksList.nextElement();
+            Iterator iter = collectionLocks.iterator();
+            while (iter.hasNext()) {
+                toRenew = (LockInfo) iter.next();
                 if (path.equals(toRenew.path)) {
-
-                    tokenList = toRenew.tokens.elements();
-                    while (tokenList.hasMoreElements()) {
-                        String token = (String) tokenList.nextElement();
+                    Iterator tokenIter = toRenew.tokens.iterator();
+                    while (tokenIter.hasNext()) {
+                        String token = (String) tokenIter.next();
                         if (ifHeader.indexOf(token) != -1) {
                             toRenew.expiresAt = lock.expiresAt;
                             lock = toRenew;
@@ -1285,16 +1279,14 @@
         // Checking resource locks
 
         LockInfo lock = (LockInfo) resourceLocks.get(path);
-        Enumeration tokenList = null;
+        Iterator iter = null;
         if (lock != null) {
-
             // At least one of the tokens of the locks must have been given
-
-            tokenList = lock.tokens.elements();
-            while (tokenList.hasMoreElements()) {
-                String token = (String) tokenList.nextElement();
+            iter = lock.tokens.iterator();
+            while (iter.hasNext()) {
+                String token = (String) iter.next();
                 if (lockTokenHeader.indexOf(token) != -1) {
-                    lock.tokens.removeElement(token);
+                    iter.remove();
                 }
             }
 
@@ -1307,23 +1299,21 @@
         }
 
         // Checking inheritable collection locks
-
-        Enumeration collectionLocksList = collectionLocks.elements();
-        while (collectionLocksList.hasMoreElements()) {
-            lock = (LockInfo) collectionLocksList.nextElement();
+        iter = collectionLocks.iterator();
+        while (iter.hasNext()) {
+            lock = (LockInfo) iter.next();
             if (path.equals(lock.path)) {
-
-                tokenList = lock.tokens.elements();
-                while (tokenList.hasMoreElements()) {
-                    String token = (String) tokenList.nextElement();
+                Iterator tokenIter = lock.tokens.iterator();
+                while (tokenIter.hasNext()) {
+                    String token = (String) tokenIter.next();
                     if (lockTokenHeader.indexOf(token) != -1) {
-                        lock.tokens.removeElement(token);
+                        tokenIter.remove();
                         break;
                     }
                 }
 
                 if (lock.tokens.isEmpty()) {
-                    collectionLocks.removeElement(lock);
+                    iter.remove();
                     // Removing any lock-null resource which would be present
                     lockNullResources.remove(path);
                 }
@@ -1332,7 +1322,6 @@
         }
 
         resp.setStatus(WebdavStatus.SC_NO_CONTENT);
-
     }
 
     /**
@@ -1345,30 +1334,32 @@
      * @param path Path to be normalized
      */
     protected String normalize(String path) {
-
-        if (path == null)
+        if (path == null) {
             return null;
+        }
 
         // Create a place for the normalized path
         String normalized = path;
 
-        if (normalized == null)
-            return (null);
-
-        if (normalized.equals("/."))
+        if (normalized.equals("/.")) {
             return "/";
+        }
 
         // Normalize the slashes and add leading slash if necessary
-        if (normalized.indexOf('\\') >= 0)
+        if (normalized.indexOf('\\') >= 0) {
             normalized = normalized.replace('\\', '/');
-        if (!normalized.startsWith("/"))
+        }
+
+        if (!normalized.startsWith("/")) {
             normalized = "/" + normalized;
+        }
 
         // Resolve occurrences of "//" in the normalized path
         while (true) {
             int index = normalized.indexOf("//");
-            if (index < 0)
+            if (index < 0) {
                 break;
+            }
             normalized = normalized.substring(0, index) +
                 normalized.substring(index + 1);
         }
@@ -1376,8 +1367,9 @@
         // Resolve occurrences of "/./" in the normalized path
         while (true) {
             int index = normalized.indexOf("/./");
-            if (index < 0)
+            if (index < 0) {
                 break;
+            }
             normalized = normalized.substring(0, index) +
                 normalized.substring(index + 2);
         }
@@ -1385,10 +1377,13 @@
         // Resolve occurrences of "/../" in the normalized path
         while (true) {
             int index = normalized.indexOf("/../");
-            if (index < 0)
+            if (index < 0) {
                 break;
-            if (index == 0)
+            }
+            if (index == 0) {
                 return (null);  // Trying to go outside our context
+            }
+
             int index2 = normalized.lastIndexOf('/', index - 1);
             normalized = normalized.substring(0, index2) +
                 normalized.substring(index + 3);
@@ -1396,7 +1391,6 @@
 
         // Return the normalized path that we have completed
         return (normalized);
-
     }
 
 
@@ -1421,19 +1415,19 @@
      * are present on the resource).
      */
     private boolean isLocked(HttpServletRequest req) {
-
         String path = getRelativePath(req);
 
         String ifHeader = req.getHeader("If");
-        if (ifHeader == null)
+        if (ifHeader == null) {
             ifHeader = "";
+        }
 
         String lockTokenHeader = req.getHeader("Lock-Token");
-        if (lockTokenHeader == null)
+        if (lockTokenHeader == null) {
             lockTokenHeader = "";
+        }
 
         return isLocked(path, ifHeader + lockTokenHeader);
-
     }
 
 
@@ -1447,53 +1441,49 @@
      * are present on the resource).
      */
     private boolean isLocked(String path, String ifHeader) {
-
         // Checking resource locks
-
         LockInfo lock = (LockInfo) resourceLocks.get(path);
-        Enumeration tokenList = null;
         if ((lock != null) && (lock.hasExpired())) {
             resourceLocks.remove(path);
         } else if (lock != null) {
-
             // At least one of the tokens of the locks must have been given
-
-            tokenList = lock.tokens.elements();
+            Iterator iter = lock.tokens.iterator();
             boolean tokenMatch = false;
-            while (tokenList.hasMoreElements()) {
-                String token = (String) tokenList.nextElement();
-                if (ifHeader.indexOf(token) != -1)
+            while (iter.hasNext()) {
+                String token = (String) iter.next();
+                if (ifHeader.indexOf(token) != -1) {
                     tokenMatch = true;
+                }
             }
-            if (!tokenMatch)
-                return true;
 
+            if (!tokenMatch) {
+                return true;
+            }
         }
 
         // Checking inheritable collection locks
-
-        Enumeration collectionLocksList = collectionLocks.elements();
-        while (collectionLocksList.hasMoreElements()) {
-            lock = (LockInfo) collectionLocksList.nextElement();
+        Iterator iter = collectionLocks.iterator();
+        while (iter.hasNext()) {
+            lock = (LockInfo) iter.next();
             if (lock.hasExpired()) {
-                collectionLocks.removeElement(lock);
+                iter.remove();
             } else if (path.startsWith(lock.path)) {
-
-                tokenList = lock.tokens.elements();
+                Iterator tokenIter = lock.tokens.iterator();
                 boolean tokenMatch = false;
-                while (tokenList.hasMoreElements()) {
-                    String token = (String) tokenList.nextElement();
-                    if (ifHeader.indexOf(token) != -1)
+                while (tokenIter.hasNext()) {
+                    String token = (String) tokenIter.next();
+                    if (ifHeader.indexOf(token) != -1) {
                         tokenMatch = true;
+                    }
                 }
-                if (!tokenMatch)
-                    return true;
 
+                if (!tokenMatch) {
+                    return true;
+                }
             }
         }
 
         return false;
-
     }
 
 
@@ -1868,6 +1858,7 @@
         try {
             enumeration = resources.list(path);
         } catch (NamingException e) {
+            log("WebdavServlet: naming exception listing resources for " + path);
             errorList.put(path, new Integer
                 (WebdavStatus.SC_INTERNAL_SERVER_ERROR));
             return;
@@ -1876,16 +1867,14 @@
         while (enumeration.hasMoreElements()) {
             NameClassPair ncPair = (NameClassPair) enumeration.nextElement();
             String childName = path;
-            if (!childName.equals("/"))
+            if (!childName.equals("/")) {
                 childName += "/";
-            childName += ncPair.getName();
+            }
 
+            childName += ncPair.getName();
             if (isLocked(childName, ifHeader + lockTokenHeader)) {
-
                 errorList.put(childName, new Integer(WebdavStatus.SC_LOCKED));
-
             } else {
-
                 try {
                     Object object = resources.lookup(childName);
                     if (object instanceof DirContext) {
@@ -1921,10 +1910,10 @@
      *
      * @param req Servlet request
      * @param resp Servlet response
-     * @param errorList List of error to be displayed
+     * @param errors The errors to be displayed
      */
     private void sendReport(HttpServletRequest req, HttpServletResponse resp,
-                            Hashtable errorList)
+                            Map errors)
         throws ServletException, IOException {
 
         resp.setStatus(WebdavStatus.SC_MULTI_STATUS);
@@ -1939,18 +1928,18 @@
                                   + generateNamespaceDeclarations(),
                                   XMLWriter.OPENING);
 
-        Enumeration pathList = errorList.keys();
-        while (pathList.hasMoreElements()) {
+        Iterator iter = errors.keySet().iterator();
+        while (iter.hasNext()) {
+            String errorPath = (String) iter.next();
+            int errorCode = ((Integer) errors.get(errorPath)).intValue();
 
-            String errorPath = (String) pathList.nextElement();
-            int errorCode = ((Integer) errorList.get(errorPath)).intValue();
-
             generatedXML.writeElement(null, "response", XMLWriter.OPENING);
 
             generatedXML.writeElement(null, "href", XMLWriter.OPENING);
             String toAppend = errorPath.substring(relativePath.length());
-            if (!toAppend.startsWith("/"))
+            if (!toAppend.startsWith("/")) {
                 toAppend = "/" + toAppend;
+            }
             generatedXML.writeText(absoluteUri + toAppend);
             generatedXML.writeElement(null, "href", XMLWriter.CLOSING);
             generatedXML.writeElement(null, "status", XMLWriter.OPENING);
@@ -1960,7 +1949,6 @@
             generatedXML.writeElement(null, "status", XMLWriter.CLOSING);
 
             generatedXML.writeElement(null, "response", XMLWriter.CLOSING);
-
         }
 
         generatedXML.writeElement(null, "multistatus", XMLWriter.CLOSING);
@@ -1986,7 +1974,7 @@
     private void parseProperties(HttpServletRequest req,
                                  XMLWriter generatedXML,
                                  String path, int type,
-                                 Vector propertiesVector) {
+                                 List propertiesVector) {
 
         // Exclude any resource in the /WEB-INF and /META-INF subdirectories
         // (the "toUpperCase()" avoids problems on Windows systems)
@@ -2122,19 +2110,17 @@
 
         case FIND_BY_PROPERTY :
 
-            Vector propertiesNotFound = new Vector();
+            List propertiesNotFound = new Vector();
 
             // Parse the list of properties
 
             generatedXML.writeElement(null, "propstat", XMLWriter.OPENING);
             generatedXML.writeElement(null, "prop", XMLWriter.OPENING);
 
-            Enumeration properties = propertiesVector.elements();
+            Iterator iter = propertiesVector.iterator();
+            while (iter.hasNext()) {
+                String property = (String) iter.next();
 
-            while (properties.hasMoreElements()) {
-
-                String property = (String) properties.nextElement();
-
                 if (property.equals("creationdate")) {
                     generatedXML.writeProperty
                         (null, "creationdate",
@@ -2147,14 +2133,14 @@
                         (null, "displayname", XMLWriter.CLOSING);
                 } else if (property.equals("getcontentlanguage")) {
                     if (cacheEntry.context != null) {
-                        propertiesNotFound.addElement(property);
+                        propertiesNotFound.add(property);
                     } else {
                         generatedXML.writeElement(null, "getcontentlanguage",
                                                   XMLWriter.NO_CONTENT);
                     }
                 } else if (property.equals("getcontentlength")) {
                     if (cacheEntry.context != null) {
-                        propertiesNotFound.addElement(property);
+                        propertiesNotFound.add(property);
                     } else {
                         generatedXML.writeProperty
                             (null, "getcontentlength",
@@ -2162,7 +2148,7 @@
                     }
                 } else if (property.equals("getcontenttype")) {
                     if (cacheEntry.context != null) {
-                        propertiesNotFound.addElement(property);
+                        propertiesNotFound.add(property);
                     } else {
                         generatedXML.writeProperty
                             (null, "getcontenttype",
@@ -2171,14 +2157,14 @@
                     }
                 } else if (property.equals("getetag")) {
                     if (cacheEntry.context != null) {
-                        propertiesNotFound.addElement(property);
+                        propertiesNotFound.add(property);
                     } else {
                         generatedXML.writeProperty
                             (null, "getetag", getETag(cacheEntry.attributes));
                     }
                 } else if (property.equals("getlastmodified")) {
                     if (cacheEntry.context != null) {
-                        propertiesNotFound.addElement(property);
+                        propertiesNotFound.add(property);
                     } else {
                         generatedXML.writeProperty
                             (null, "getlastmodified", FastHttpDateFormat.formatDate
@@ -2213,9 +2199,9 @@
                                               XMLWriter.CLOSING);
                 } else if (property.equals("lockdiscovery")) {
                     if (!generateLockDiscovery(path, generatedXML))
-                        propertiesNotFound.addElement(property);
+                        propertiesNotFound.add(property);
                 } else {
-                    propertiesNotFound.addElement(property);
+                    propertiesNotFound.add(property);
                 }
 
             }
@@ -2226,20 +2212,18 @@
             generatedXML.writeElement(null, "status", XMLWriter.CLOSING);
             generatedXML.writeElement(null, "propstat", XMLWriter.CLOSING);
 
-            Enumeration propertiesNotFoundList = propertiesNotFound.elements();
-
-            if (propertiesNotFoundList.hasMoreElements()) {
-
+            if (propertiesNotFound.size() > 0) {
                 status = new String("HTTP/1.1 " + WebdavStatus.SC_NOT_FOUND
                                     + " " + WebdavStatus.getStatusText
                                     (WebdavStatus.SC_NOT_FOUND));
-
+                
                 generatedXML.writeElement(null, "propstat", XMLWriter.OPENING);
                 generatedXML.writeElement(null, "prop", XMLWriter.OPENING);
-
-                while (propertiesNotFoundList.hasMoreElements()) {
+                
+                Iterator notFoundIter = propertiesNotFound.iterator();
+                while (notFoundIter.hasNext()) {
                     generatedXML.writeElement
-                        (null, (String) propertiesNotFoundList.nextElement(),
+                        (null, (String) notFoundIter.next(),
                          XMLWriter.NO_CONTENT);
                 }
 
@@ -2273,7 +2257,7 @@
     private void parseLockNullProperties(HttpServletRequest req,
                                          XMLWriter generatedXML,
                                          String path, int type,
-                                         Vector propertiesVector) {
+                                         List propertiesVector) {
 
         // Exclude any resource in the /WEB-INF and /META-INF subdirectories
         // (the "toUpperCase()" avoids problems on Windows systems)
@@ -2399,19 +2383,17 @@
 
         case FIND_BY_PROPERTY :
 
-            Vector propertiesNotFound = new Vector();
+            List propertiesNotFound = new Vector();
 
             // Parse the list of properties
 
             generatedXML.writeElement(null, "propstat", XMLWriter.OPENING);
             generatedXML.writeElement(null, "prop", XMLWriter.OPENING);
 
-            Enumeration properties = propertiesVector.elements();
+            Iterator iter = propertiesVector.iterator();
+            while (iter.hasNext()) {
+                String property = (String) iter.next();
 
-            while (properties.hasMoreElements()) {
-
-                String property = (String) properties.nextElement();
-
                 if (property.equals("creationdate")) {
                     generatedXML.writeProperty
                         (null, "creationdate",
@@ -2462,9 +2444,9 @@
                                               XMLWriter.CLOSING);
                 } else if (property.equals("lockdiscovery")) {
                     if (!generateLockDiscovery(path, generatedXML))
-                        propertiesNotFound.addElement(property);
+                        propertiesNotFound.add(property);
                 } else {
-                    propertiesNotFound.addElement(property);
+                    propertiesNotFound.add(property);
                 }
 
             }
@@ -2475,10 +2457,7 @@
             generatedXML.writeElement(null, "status", XMLWriter.CLOSING);
             generatedXML.writeElement(null, "propstat", XMLWriter.CLOSING);
 
-            Enumeration propertiesNotFoundList = propertiesNotFound.elements();
-
-            if (propertiesNotFoundList.hasMoreElements()) {
-
+            if (propertiesNotFound.size() > 0) {
                 status = new String("HTTP/1.1 " + WebdavStatus.SC_NOT_FOUND
                                     + " " + WebdavStatus.getStatusText
                                     (WebdavStatus.SC_NOT_FOUND));
@@ -2486,9 +2465,10 @@
                 generatedXML.writeElement(null, "propstat", XMLWriter.OPENING);
                 generatedXML.writeElement(null, "prop", XMLWriter.OPENING);
 
-                while (propertiesNotFoundList.hasMoreElements()) {
+                Iterator notFoundIter = propertiesNotFound.iterator();
+                while (notFoundIter.hasNext()) {
                     generatedXML.writeElement
-                        (null, (String) propertiesNotFoundList.nextElement(),
+                        (null, (String) notFoundIter.next(),
                          XMLWriter.NO_CONTENT);
                 }
 
@@ -2518,12 +2498,9 @@
      */
     private boolean generateLockDiscovery
         (String path, XMLWriter generatedXML) {
-
-        LockInfo resourceLock = (LockInfo) resourceLocks.get(path);
-        Enumeration collectionLocksList = collectionLocks.elements();
-
         boolean wroteStart = false;
 
+        LockInfo resourceLock = (LockInfo) resourceLocks.get(path);
         if (resourceLock != null) {
             wroteStart = true;
             generatedXML.writeElement(null, "lockdiscovery",
@@ -2531,9 +2508,9 @@
             resourceLock.toXML(generatedXML);
         }
 
-        while (collectionLocksList.hasMoreElements()) {
-            LockInfo currentLock =
-                (LockInfo) collectionLocksList.nextElement();
+        Iterator iter = collectionLocks.iterator();
+        while (iter.hasNext()) {
+            LockInfo currentLock = (LockInfo) iter.next();
             if (path.startsWith(currentLock.path)) {
                 if (!wroteStart) {
                     wroteStart = true;
@@ -2648,7 +2625,7 @@
         String scope = "exclusive";
         int depth = 0;
         String owner = "";
-        Vector tokens = new Vector();
+        List tokens = new Vector();
         long expiresAt = 0;
         Date creationDate = new Date();
 
@@ -2667,12 +2644,12 @@
             result += "Owner:" + owner + "\n";
             result += "Expiration:"
                 + FastHttpDateFormat.formatDate(expiresAt, null) + "\n";
-            Enumeration tokensList = tokens.elements();
-            while (tokensList.hasMoreElements()) {
-                result += "Token:" + tokensList.nextElement() + "\n";
+
+            Iterator iter = tokens.iterator();
+            while (iter.hasNext()) {
+                result += "Token:" + iter.next() + "\n";
             }
             return result;
-
         }
 
 
@@ -2728,11 +2705,12 @@
             generatedXML.writeElement(null, "timeout", XMLWriter.CLOSING);
 
             generatedXML.writeElement(null, "locktoken", XMLWriter.OPENING);
-            Enumeration tokensList = tokens.elements();
-            while (tokensList.hasMoreElements()) {
+
+            Iterator iter = tokens.iterator();
+            while (iter.hasNext()) {
                 generatedXML.writeElement(null, "href", XMLWriter.OPENING);
                 generatedXML.writeText("opaquelocktoken:"
-                                       + tokensList.nextElement());
+                                       + iter.next());
                 generatedXML.writeElement(null, "href", XMLWriter.CLOSING);
             }
             generatedXML.writeElement(null, "locktoken", XMLWriter.CLOSING);

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/FileStore.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/FileStore.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/FileStore.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -46,7 +47,7 @@
  * saved are still subject to being expired based on inactivity.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303826 $ $Date: 2005-03-31 04:31:54 -0600 (Thu, 31 Mar 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class FileStore

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/JDBCStore.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/JDBCStore.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/JDBCStore.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -44,7 +45,7 @@
  * saved are still subject to being expired based on inactivity.
  *
  * @author Bip Thelin
- * @version $Revision: 303826 $, $Date: 2005-03-31 04:31:54 -0600 (Thu, 31 Mar 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class JDBCStore

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/ManagerBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/ManagerBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/ManagerBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -57,7 +58,7 @@
  * be subclassed to create more sophisticated Manager implementations.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 395980 $ $Date: 2006-04-21 13:29:21 -0500 (Fri, 21 Apr 2006) $
+ * @version $Revision: 479370 $ $Date: 2006-11-26 08:31:29 -0700 (Sun, 26 Nov 2006) $
  */
 
 public abstract class ManagerBase implements Manager, MBeanRegistration {
@@ -700,7 +701,6 @@
         if( oname==null ) {
             try {
                 StandardContext ctx=(StandardContext)this.getContainer();
-                Engine eng=(Engine)ctx.getParent().getParent();
                 domain=ctx.getEngineName();
                 distributable = ctx.getDistributable();
                 StandardHost hst=(StandardHost)ctx.getParent();

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/PersistentManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/PersistentManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/PersistentManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * <li>Limit the number of active sessions kept in memory by
  *     swapping less active sessions out to disk.</li>
  *
- * @version $Revision: 302726 $
+ * @version $Revision: 466608 $
  * @author Kief Morris (kief at kief.com)
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -46,7 +47,7 @@
  *
  * @author Craig R. McClanahan
  * @author Jean-Francois Arcand
- * @version $Revision: 303826 $ $Date: 2005-03-31 04:31:54 -0600 (Thu, 31 Mar 2005) $
+ * @version $Revision: 486929 $ $Date: 2006-12-13 19:07:32 -0700 (Wed, 13 Dec 2006) $
  */
 
 public abstract class PersistentManagerBase
@@ -920,7 +921,7 @@
         // Force initialization of the random number generator
         if (log.isDebugEnabled())
             log.debug("Force random number initialization starting");
-        String dummy = generateSessionId();
+        generateSessionId();
         if (log.isDebugEnabled())
             log.debug("Force random number initialization completed");
 
@@ -992,7 +993,6 @@
         // Validate the source of this event
         if (!(event.getSource() instanceof Context))
             return;
-        Context context = (Context) event.getSource();
 
         // Process a relevant property change
         if (event.getPropertyName().equals("sessionTimeout")) {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StandardManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StandardManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StandardManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -58,7 +59,7 @@
  *
  * @author Craig R. McClanahan
  * @author Jean-Francois Arcand
- * @version $Revision: 387590 $ $Date: 2006-03-21 11:55:07 -0600 (Tue, 21 Mar 2006) $
+ * @version $Revision: 479370 $ $Date: 2006-11-26 08:31:29 -0700 (Sun, 26 Nov 2006) $
  */
 
 public class StandardManager
@@ -627,7 +628,7 @@
         // Force initialization of the random number generator
         if (log.isDebugEnabled())
             log.debug("Force random number initialization starting");
-        String dummy = generateSessionId();
+        generateSessionId();
         if (log.isDebugEnabled())
             log.debug("Force random number initialization completed");
 
@@ -707,7 +708,6 @@
         // Validate the source of this event
         if (!(event.getSource() instanceof Context))
             return;
-        Context context = (Context) event.getSource();
 
         // Process a relevant property change
         if (event.getPropertyName().equals("sessionTimeout")) {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StandardSession.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StandardSession.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StandardSession.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -74,7 +75,7 @@
  * @author Craig R. McClanahan
  * @author Sean Legassick
  * @author <a href="mailto:jon at latchkey.com">Jon S. Stevens</a>
- * @version $Revision: 405097 $ $Date: 2006-05-08 12:22:55 -0500 (Mon, 08 May 2006) $
+ * @version $Revision: 471309 $ $Date: 2006-11-04 19:11:11 -0600 (Sat, 04 Nov 2006) $
  */
 
 public class StandardSession
@@ -274,6 +275,7 @@
      */
     protected transient int accessCount = 0;
 
+    private Object lock = new Object();
 
     // ----------------------------------------------------- Session Properties
 
@@ -610,7 +612,11 @@
 
         evaluateIfValid();
 
-        accessCount++;
+        if (Globals.STRICT_SERVLET_COMPLIANCE) {
+            synchronized (lock) {
+                accessCount++;
+            }
+        }
 
     }
 
@@ -621,8 +627,12 @@
     public void endAccess() {
 
         isNew = false;
-        accessCount--;
-
+        
+        if (Globals.STRICT_SERVLET_COMPLIANCE) {
+            synchronized (lock) {
+                accessCount--;
+            }
+        }
     }
 
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StandardSessionFacade.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StandardSessionFacade.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StandardSessionFacade.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * Facade for the StandardSession object.
  *
  * @author Remy Maucherat
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class StandardSessionFacade

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StoreBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StoreBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/session/StoreBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -33,7 +34,7 @@
  * support most of the functionality required by a Store.
  *
  * @author Bip Thelin
- * @version $Revision: 303826 $, $Date: 2005-03-31 04:31:54 -0600 (Thu, 31 Mar 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public abstract class StoreBase
@@ -172,7 +173,6 @@
      *
      */
     public void processExpires() {
-        long timeNow = System.currentTimeMillis();
         String[] keys = null;
 
          if(!started) {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/ByteArrayServletOutputStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/ByteArrayServletOutputStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/ByteArrayServletOutputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2002,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
  * <code>SsiInclude</code>
  *
  * @author Bip Thelin
- * @version $Revision: 304045 $, $Date: 2005-08-04 07:18:30 -0500 (Thu, 04 Aug 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @see ServletOutputStream and ByteArrayOutputStream
  */
 public class ByteArrayServletOutputStream extends ServletOutputStream {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/ResponseIncludeWrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/ResponseIncludeWrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/ResponseIncludeWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2002,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -33,7 +34,7 @@
  * 
  * @author Bip Thelin
  * @author David Becker
- * @version $Revision: 304032 $, $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class ResponseIncludeWrapper extends HttpServletResponseWrapper {
     /**

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSICommand.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSICommand.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSICommand.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -19,7 +19,7 @@
  * @author Bip Thelin
  * @author Dan Sandberg
  * @author David Becker
- * @version $Revision: 303882 $, $Date: 2005-04-23 05:22:37 -0500 (Sat, 23 Apr 2005) $
+ * @version $Revision: 303882 $, $Date: 2005-04-23 04:22:37 -0600 (Sat, 23 Apr 2005) $
  */
 public interface SSICommand {
     /**

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -19,7 +19,7 @@
  * @author Paul Speed
  * @author Dan Sandberg
  * @author David Becker
- * @version $Revision: 303882 $, $Date: 2005-04-23 05:22:37 -0500 (Sat, 23 Apr 2005) $
+ * @version $Revision: 303882 $, $Date: 2005-04-23 04:22:37 -0600 (Sat, 23 Apr 2005) $
  */
 public final class SSIConfig implements SSICommand {
     /**

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIEcho.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIEcho.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIEcho.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -19,7 +19,7 @@
  * @author Paul Speed
  * @author Dan Sandberg
  * @author David Becker
- * @version $Revision: 303882 $, $Date: 2005-04-23 05:22:37 -0500 (Sat, 23 Apr 2005) $
+ * @version $Revision: 303882 $, $Date: 2005-04-23 04:22:37 -0600 (Sat, 23 Apr 2005) $
  */
 public class SSIEcho implements SSICommand {
     protected final static String DEFAULT_ENCODING = "entity";

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIExec.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIExec.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIExec.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -24,7 +24,7 @@
  * @author Paul Speed
  * @author Dan Sandberg
  * @author David Becker
- * @version $Revision: 303882 $, $Date: 2005-04-23 05:22:37 -0500 (Sat, 23 Apr 2005) $
+ * @version $Revision: 303882 $, $Date: 2005-04-23 04:22:37 -0600 (Sat, 23 Apr 2005) $
  */
 public class SSIExec implements SSICommand {
     protected SSIInclude ssiInclude = new SSIInclude();

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIExternalResolver.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIExternalResolver.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIExternalResolver.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -19,7 +19,7 @@
  * servlet )
  * 
  * @author Dan Sandberg
- * @version $Revision: 303166 $, $Date: 2004-09-01 13:33:33 -0500 (Wed, 01 Sep 2004) $
+ * @version $Revision: 303166 $, $Date: 2004-09-01 12:33:33 -0600 (Wed, 01 Sep 2004) $
  */
 public interface SSIExternalResolver {
     /**

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -38,7 +38,7 @@
  * from within web.xml.
  * 
  * @author David Becker
- * @version $Revision: 303920 $, $Date: 2005-05-05 15:52:37 -0500 (Thu, 05 May 2005) $
+ * @version $Revision: 303920 $, $Date: 2005-05-05 14:52:37 -0600 (Thu, 05 May 2005) $
  * @see org.apache.catalina.ssi.SSIServlet
  */
 public class SSIFilter implements Filter {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIFlastmod.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIFlastmod.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIFlastmod.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -23,7 +23,7 @@
  * @author Paul Speed
  * @author Dan Sandberg
  * @author David Becker
- * @version $Revision: 304061 $, $Date: 2005-08-17 16:21:37 -0500 (Wed, 17 Aug 2005) $
+ * @version $Revision: 304061 $, $Date: 2005-08-17 15:21:37 -0600 (Wed, 17 Aug 2005) $
  */
 public final class SSIFlastmod implements SSICommand {
     /**

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIFsize.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIFsize.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIFsize.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -21,7 +21,7 @@
  * @author Paul Speed
  * @author Dan Sandberg
  * @author David Becker
- * @version $Revision: 303882 $, $Date: 2005-04-23 05:22:37 -0500 (Sat, 23 Apr 2005) $
+ * @version $Revision: 303882 $, $Date: 2005-04-23 04:22:37 -0600 (Sat, 23 Apr 2005) $
  */
 public final class SSIFsize implements SSICommand {
     protected final static int ONE_KILOBYTE = 1024;

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIInclude.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIInclude.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIInclude.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -20,7 +20,7 @@
  * @author Paul Speed
  * @author Dan Sandberg
  * @author David Becker
- * @version $Revision: 303882 $, $Date: 2005-04-23 05:22:37 -0500 (Sat, 23 Apr 2005) $
+ * @version $Revision: 303882 $, $Date: 2005-04-23 04:22:37 -0600 (Sat, 23 Apr 2005) $
  */
 public final class SSIInclude implements SSICommand {
     /**

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIMediator.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIMediator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIMediator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -30,7 +30,7 @@
  * @author Paul Speed
  * @author Dan Sandberg
  * @author David Becker
- * @version $Revision: 303882 $, $Date: 2005-04-23 05:22:37 -0500 (Sat, 23 Apr 2005) $
+ * @version $Revision: 303882 $, $Date: 2005-04-23 04:22:37 -0600 (Sat, 23 Apr 2005) $
  */
 public class SSIMediator {
     protected final static String DEFAULT_CONFIG_ERR_MSG = "[an error occurred while processing this directive]";

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIPrintenv.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIPrintenv.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIPrintenv.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -19,7 +19,7 @@
  * 
  * @author Dan Sandberg
  * @author David Becker
- * @version $Revision: 303882 $, $Date: 2005-04-23 05:22:37 -0500 (Sat, 23 Apr 2005) $
+ * @version $Revision: 303882 $, $Date: 2005-04-23 04:22:37 -0600 (Sat, 23 Apr 2005) $
  */
 public class SSIPrintenv implements SSICommand {
     /**

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIProcessor.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIProcessor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIProcessor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * 
  * @author Dan Sandberg
  * @author David Becker
- * @version $Revision: 424634 $, $Date: 2006-07-22 16:48:38 -0500 (Sat, 22 Jul 2006) $
+ * @version $Revision: 424634 $, $Date: 2006-07-22 15:48:38 -0600 (Sat, 22 Jul 2006) $
  */
 public class SSIProcessor {
     /** The start pattern */

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,16 +1,21 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
- * Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License
- * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- * law or agreed to in writing, software distributed under the License is
- * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.catalina.ssi;
 
-
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
@@ -25,6 +30,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import org.apache.catalina.Globals;
+
 /**
  * Servlet to process SSI requests within a webpage. Mapped to a path from
  * within web.xml.
@@ -33,7 +39,7 @@
  * @author Amy Roh
  * @author Dan Sandberg
  * @author David Becker
- * @version $Revision: 303882 $, $Date: 2005-04-23 05:22:37 -0500 (Sat, 23 Apr 2005) $
+ * @version $Revision: 490149 $, $Date: 2006-12-25 07:06:34 -0700 (Mon, 25 Dec 2006) $
  */
 public class SSIServlet extends HttpServlet {
     /** Debug level for this servlet. */
@@ -61,50 +67,64 @@
         String value = null;
         try {
             value = getServletConfig().getInitParameter("debug");
-            debug = Integer.parseInt(value);
-        } catch (Throwable t) {
-            ;
+            if (value != null) {
+                debug = Integer.parseInt(value);
+            }
+        } catch (Exception e) {
+            log("SSIServlet.init: error reading debug from " + value);
         }
+
         try {
             value = getServletConfig().getInitParameter(
                     "isVirtualWebappRelative");
-            isVirtualWebappRelative = Integer.parseInt(value) > 0?true:false;
-        } catch (Throwable t) {
-            ;
+            if (value != null) {
+                isVirtualWebappRelative = Integer.parseInt(value) > 0?true:false;
+            }
+        } catch (Exception e) {
+            log("SSIServlet.init: error reading isVirtualWebappRelative from"
+                + value);
         }
+
         try {
             value = getServletConfig().getInitParameter("expires");
-            expires = Long.valueOf(value);
+            if (value != null) {
+                expires = Long.valueOf(value);
+            }
         } catch (NumberFormatException e) {
             expires = null;
             log("Invalid format for expires initParam; expected integer (seconds)");
-        } catch (Throwable t) {
-            ;
+        } catch (Exception e) {
+            log("SSIServlet.init: error reading expires from " + value);
         }
+
         try {
             value = getServletConfig().getInitParameter("buffered");
-            buffered = Integer.parseInt(value) > 0?true:false;
-        } catch (Throwable t) {
-            ;
+            if (value != null) {
+                buffered = Integer.parseInt(value) > 0?true:false;
+            }
+        } catch (Exception e) {
+            log("SSIServlet.init: error reading buffered from " + value);
         }
+
         try {
             inputEncoding = getServletConfig().getInitParameter("inputEncoding");
-        } catch (Throwable t) {
-            ;
+        } catch (Exception e) {
+            log("SSIServlet.init: error reading inputEncoding: " + e.getMessage());
         }
+
         try {
             value = getServletConfig().getInitParameter("outputEncoding");
             if (value != null) {
                 outputEncoding = value;
             }
-        } catch (Throwable t) {
-            ;
+        } catch (Exception e) {
+            log("SSIServlet.init: error reading outputEncoding from " + value);
         }
+
         if (debug > 0)
             log("SSIServlet.init() SSI invoker started with 'debug'=" + debug);
     }
 
-
     /**
      * Process and forward the GET request to our <code>requestHandler()</code>*
      * 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIServletExternalResolver.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIServletExternalResolver.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIServletExternalResolver.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -32,7 +32,7 @@
  * 
  * @author Dan Sandberg
  * @author David Becker
- * @version $Revision: 425917 $, $Date: 2006-07-26 19:34:34 -0500 (Wed, 26 Jul 2006) $
+ * @version $Revision: 425917 $, $Date: 2006-07-26 18:34:34 -0600 (Wed, 26 Jul 2006) $
  */
 public class SSIServletExternalResolver implements SSIExternalResolver {
     protected final String VARIABLE_NAMES[] = {"AUTH_TYPE", "CONTENT_LENGTH",

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSISet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSISet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSISet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -18,7 +18,7 @@
  * @author Paul Speed
  * @author Dan Sandberg
  * @author David Becker
- * @version $Revision: 303882 $, $Date: 2005-04-23 05:22:37 -0500 (Sat, 23 Apr 2005) $
+ * @version $Revision: 303882 $, $Date: 2005-04-23 04:22:37 -0600 (Sat, 23 Apr 2005) $
  */
 public class SSISet implements SSICommand {
     /**

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIStopProcessingException.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIStopProcessingException.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/ssi/SSIStopProcessingException.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -18,7 +18,7 @@
  * 
  * @author Paul Speed
  * @author Dan Sandberg
- * @version $Revision: 303166 $, $Date: 2004-09-01 13:33:33 -0500 (Wed, 01 Sep 2004) $
+ * @version $Revision: 303166 $, $Date: 2004-09-01 12:33:33 -0600 (Wed, 01 Sep 2004) $
  */
 public class SSIStopProcessingException extends Exception {
 }

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Authenticators.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Authenticators.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Authenticators.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,3 +1,4 @@
+# These must match the allowed values for auth-method as defined by the spec 
 BASIC=org.apache.catalina.authenticator.BasicAuthenticator
 CLIENT-CERT=org.apache.catalina.authenticator.SSLAuthenticator
 DIGEST=org.apache.catalina.authenticator.DigestAuthenticator

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Bootstrap.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Bootstrap.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Bootstrap.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -45,7 +46,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 393434 $ $Date: 2006-04-12 05:55:14 -0500 (Wed, 12 Apr 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class Bootstrap {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Catalina.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Catalina.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Catalina.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -51,7 +52,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 380229 $ $Date: 2006-02-23 15:28:29 -0600 (Thu, 23 Feb 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Catalina extends Embedded {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/CatalinaProperties.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/CatalinaProperties.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/CatalinaProperties.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * Utility class to read the bootstrap Catalina configuration.
  *
  * @author Remy Maucherat
- * @version $Revision: 304109 $ $Date: 2005-09-29 09:36:25 -0500 (Thu, 29 Sep 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class CatalinaProperties {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ClassLoaderFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ClassLoaderFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ClassLoaderFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -43,7 +44,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 393434 $ $Date: 2006-04-12 05:55:14 -0500 (Wed, 12 Apr 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class ClassLoaderFactory {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ClusterRuleSetFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ClusterRuleSetFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ClusterRuleSetFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -82,7 +83,7 @@
      *
      * @author Filip Hanik
      * @author Peter Rossbach
-     * @version $Revision: 379550 $ $Date: 2006-02-21 12:06:35 -0600 (Tue, 21 Feb 2006) $
+     * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
      */
 
     public static class DefaultClusterRuleSet extends RuleSetBase {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ConnectorCreateRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ConnectorCreateRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ConnectorCreateRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: ConnectorCreateRule.java 303287 2004-09-29 09:55:39Z remm $
+/* $Id: ConnectorCreateRule.java 466608 2006-10-21 23:10:15Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
  *
  * @author Craig R. McClanahan
  * @author Jean-Francois Arcand
- * @version $Revision: 303179 $ $Date: 2004-09-02 05:28:00 -0500 (Thu, 02 Sep 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class Constants {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ContextConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ContextConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -63,7 +64,7 @@
  *
  * @author Craig R. McClanahan
  * @author Jean-Francois Arcand
- * @version $Revision: 394930 $ $Date: 2006-04-18 07:59:06 -0500 (Tue, 18 Apr 2006) $
+ * @version $Revision: 511708 $ $Date: 2007-02-25 20:12:18 -0700 (Sun, 25 Feb 2007) $
  */
 
 public class ContextConfig
@@ -761,8 +762,8 @@
                 context.addWatchedResource(file.getAbsolutePath());
             }
         } catch (Exception e) {
-            log.error(sm.getString("contextConfig.defaultMissing") 
-                      + " " + resourceName + " " + file , e);
+            log.error(sm.getString("contextConfig.contextMissing",
+                      resourceName + " " + file), e);
         }
         
         if (source == null)
@@ -786,13 +787,15 @@
                     log.debug("Successfully processed context [" + context.getName() 
                             + "] configuration file " + baseDir + " " + resourceName);
             } catch (SAXParseException e) {
-                log.error(sm.getString("contextConfig.defaultParse"), e);
+                log.error(sm.getString("contextConfig.contextParse",
+                        context.getName()), e);
                 log.error(sm.getString("contextConfig.defaultPosition",
                                  "" + e.getLineNumber(),
                                  "" + e.getColumnNumber()));
                 ok = false;
             } catch (Exception e) {
-                log.error(sm.getString("contextConfig.defaultParse"), e);
+                log.error(sm.getString("contextConfig.contextParse",
+                        context.getName()), e);
                 ok = false;
             } finally {
                 contextDigester.reset();
@@ -802,7 +805,7 @@
                         stream.close();
                     }
                 } catch (IOException e) {
-                    log.error(sm.getString("contextConfig.defaultClose"), e);
+                    log.error(sm.getString("contextConfig.contextClose"), e);
                 }
             }
         }
@@ -1270,7 +1273,7 @@
             for (int j = 0; j < roles.length; j++) {
                 if (!"*".equals(roles[j]) &&
                     !context.findSecurityRole(roles[j])) {
-                    log.info(sm.getString("contextConfig.role.auth", roles[j]));
+                    log.warn(sm.getString("contextConfig.role.auth", roles[j]));
                     context.addSecurityRole(roles[j]);
                 }
             }
@@ -1282,14 +1285,14 @@
             Wrapper wrapper = (Wrapper) wrappers[i];
             String runAs = wrapper.getRunAs();
             if ((runAs != null) && !context.findSecurityRole(runAs)) {
-                log.info(sm.getString("contextConfig.role.runas", runAs));
+                log.warn(sm.getString("contextConfig.role.runas", runAs));
                 context.addSecurityRole(runAs);
             }
             String names[] = wrapper.findSecurityReferences();
             for (int j = 0; j < names.length; j++) {
                 String link = wrapper.findSecurityReference(names[j]);
                 if ((link != null) && !context.findSecurityRole(link)) {
-                    log.info(sm.getString("contextConfig.role.link", link));
+                    log.warn(sm.getString("contextConfig.role.link", link));
                     context.addSecurityRole(link);
                 }
             }

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ContextRuleSet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ContextRuleSet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ContextRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * DefaultContext, be sure to specify a prefix that ends with "/Default".</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 440936 $ $Date: 2006-09-06 20:51:28 -0500 (Wed, 06 Sep 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ContextRuleSet extends RuleSetBase {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/CopyParentClassLoaderRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/CopyParentClassLoaderRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/CopyParentClassLoaderRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  * <code>Container</code>).</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302984 $ $Date: 2004-06-26 12:41:33 -0500 (Sat, 26 Jun 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class CopyParentClassLoaderRule extends Rule {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/DigesterFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/DigesterFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/DigesterFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Embedded.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Embedded.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Embedded.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -97,7 +98,7 @@
  * of how Tomcat is set up and launched as an Embedded application.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 304107 $ $Date: 2005-09-29 00:52:48 -0500 (Thu, 29 Sep 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Embedded  extends StandardService implements Lifecycle {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/EngineConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/EngineConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/EngineConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  * of that Engine, and the associated defined contexts.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 349922 $ $Date: 2005-11-30 05:10:55 -0600 (Wed, 30 Nov 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class EngineConfig

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/EngineRuleSet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/EngineRuleSet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/EngineRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  * <code>ContextRuleSet</code>, respectively.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303970 $ $Date: 2005-06-30 08:08:14 -0500 (Thu, 30 Jun 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class EngineRuleSet extends RuleSetBase {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ExpandWar.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ExpandWar.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/ExpandWar.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -41,7 +42,7 @@
  * @author Craig R. McClanahan
  * @author Remy Maucherat
  * @author Glenn L. Nielsen
- * @version $Revision: 303769 $
+ * @version $Revision: 466608 $
  */
 
 public class ExpandWar {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/HomesUserDatabase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/HomesUserDatabase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/HomesUserDatabase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * to our constructor to be "home" directories for those users.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class HomesUserDatabase

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/HostConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/HostConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/HostConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -51,7 +52,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 386336 $ $Date: 2006-03-16 08:13:00 -0600 (Thu, 16 Mar 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class HostConfig
     implements LifecycleListener {
@@ -354,6 +355,23 @@
     }
     
     
+    /**
+     * Has the specified application been deployed? Note applications defined
+     * in server.xml will not have been deployed.
+     * @return <code>true</code> if the application has been deployed and
+     * <code>false</code> if the applciation has not been deployed or does not
+     * exist
+     */
+    public boolean isDeployed(String name) {
+        DeployedApplication app = (DeployedApplication) deployed.get(name);
+        if (app == null) {
+            return false;
+        } else {
+            return true;
+        }
+    }
+    
+    
     // ------------------------------------------------------ Protected Methods
 
     
@@ -671,8 +689,6 @@
         if (files == null)
             return;
         
-        boolean checkAdditionalDeployments = false;
-        
         for (int i = 0; i < files.length; i++) {
             
             if (files[i].equalsIgnoreCase("META-INF"))

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/HostRuleSet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/HostRuleSet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/HostRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * be added via instances of <code>ContextRuleSet</code>.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302984 $ $Date: 2004-06-26 12:41:33 -0500 (Sat, 26 Jun 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class HostRuleSet extends RuleSetBase {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LifecycleListenerRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LifecycleListenerRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LifecycleListenerRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -11,6 +11,9 @@
 contextConfig.cce=Lifecycle event data object {0} is not a Context
 contextConfig.certificatesConfig.added=Added certificates -> request attribute Valve
 contextConfig.certificatesConfig.error=Exception adding CertificatesValve:
+contextConfig.contextClose=Error closing context.xml
+contextConfig.contextMissing=Missing context.xml: {0}
+contextConfig.contextParse=Parse error in context.xml for {0}
 contextConfig.defaultClose=Error closing default web.xml
 contextConfig.defaultConfig=Configuration error in default web.xml
 contextConfig.defaultMissing=Missing default web.xml, using application web.xml only
@@ -19,9 +22,9 @@
 contextConfig.fixDocBase=Exception fixing docBase: {0} 
 contextConfig.init=ContextConfig: Initializing
 contextConfig.missingRealm=No Realm has been configured to authenticate against
-contextConfig.role.auth=WARNING: Security role name {0} used in an <auth-constraint> without being defined in a <security-role>
-contextConfig.role.link=WARNING: Security role name {0} used in a <role-link> without being defined in a <security-role>
-contextConfig.role.runas=WARNING: Security role name {0} used in a <run-as> without being defined in a <security-role>
+contextConfig.role.auth=Security role name {0} used in an <auth-constraint> without being defined in a <security-role>
+contextConfig.role.link=Security role name {0} used in a <role-link> without being defined in a <security-role>
+contextConfig.role.runas=Security role name {0} used in a <run-as> without being defined in a <security-role>
 contextConfig.start=ContextConfig: Processing START
 contextConfig.stop=ContextConfig: Processing STOP
 contextConfig.tldEntryException=Exception processing TLD {0} in JAR at resource path {1} in context {2}

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_es.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_es.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_es.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,8 +1,8 @@
 contextConfig.applicationClose=Error durante el cierre del archivo web.xml de la aplicación
-contextConfig.applicationConfig=Errror de configuración en el archivo web.xml de la aplicación
+contextConfig.applicationConfig=Error de configuración en el archivo web.xml de la aplicación
 contextConfig.applicationListener=Excepción durante la creación de la clase de escucha (listener) {0}
-contextConfig.applicationMissing=Falta el archivo web.xml de la aplicaciónb. Utilizando los parámetros por defecto
-contextConfig.applicationParse=Error de evaluación (parse) en el archivo web.xml de la aplicación
+contextConfig.applicationMissing=Falta el archivo web.xml de la aplicación. Utilizando los parámetros por defecto
+contextConfig.applicationParse=Error de evaluación (parse) en el archivo web.xml de la aplicación a {0}
 contextConfig.applicationPosition=Se ha producido en la línea {0} columna {1}
 contextConfig.authenticatorConfigured=Configuración de un autentificador (authenticator) para el método {0}
 contextConfig.authenticatorInstantiate=Imposible de instanciar un autenticador (authenticator) para la clase {0}
@@ -17,14 +17,14 @@
 contextConfig.defaultParse=Error de evaluación (parse) en el arcivo web.xml por defecto
 contextConfig.defaultPosition=Se ha producido en la línea {0} columna {1}
 contextConfig.missingRealm=Algún reino (realm) no ha sido configurado para realizar la autenticación
-contextConfig.role.auth=ATENCIÓN: El nombre de papel de seguridad {0} es usado en un <auth-constraint> sin haber sido definido en <security-role>
-contextConfig.role.link=ATENCIÓN: El nombre de papel de seguridad {0} es usado en un <role-link> sin haber sido definido en <security-role>
-contextConfig.role.runas=ATENCIÓN: El nombre de papel de seguridad {0} es usado en un <run-as> sin haber sido definido en <security-role>
+contextConfig.role.auth=El nombre de papel de seguridad {0} es usado en un <auth-constraint> sin haber sido definido en <security-role>
+contextConfig.role.link=El nombre de papel de seguridad {0} es usado en un <role-link> sin haber sido definido en <security-role>
+contextConfig.role.runas=El nombre de papel de seguridad {0} es usado en un <run-as> sin haber sido definido en <security-role>
 contextConfig.start="ContextConfig": Tratamiento del "START"
 contextConfig.stop="ContextConfig": Tratamiento del "STOP"
-contextConfig.tldEntryException=Excepción durante el tratamiento de la TLD {0} en el JAR indicado por la trayectoria de recurso {1}
-contextConfig.tldFileException=Excepción durante el tratamiento de la TLD indicada por la trayectoria de recurso {0}
-contextConfig.tldJarException=Excepción durante el tratamiento del JAR indicado por la trayectoria de recurso {0}
+contextConfig.tldEntryException=Excepción durante el tratamiento de la TLD {0} en el JAR indicado por la trayectoria de recurso {1} en contexto {2}
+contextConfig.tldFileException=Excepción durante el tratamiento de la TLD indicada por la trayectoria de recurso {0} en contexto {1}
+contextConfig.tldJarException=Excepción durante el tratamiento del JAR indicado por la trayectoria de recurso {0} en contexto {1}
 contextConfig.tldResourcePath=Trayectoria de recurso TLD {0} inválida
 contextConfig.unavailable=Esta aplicación está marcada como no disponible debido a los errores precedentes
 embedded.alreadyStarted=El servicio embebido (embedded service) ya ha sido arrancado

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_fr.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_fr.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_fr.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -2,7 +2,7 @@
 contextConfig.applicationConfig=Erreur de configuration dans le fichier web.xml de l''application
 contextConfig.applicationListener=Exception lors de la création de la classe d''écoute (listener) {0}
 contextConfig.applicationMissing=Le fichier web.xml de l''application est absent, utilisation des paramêtres par défaut
-contextConfig.applicationParse=Erreur d''évaluation (parse) dans le fichier web.xml de l''application
+contextConfig.applicationParse=Erreur d''évaluation (parse) dans le fichier web.xml de l''application à {0}
 contextConfig.applicationPosition=S''est produite à la ligne {0} colonne {1}
 contextConfig.authenticatorConfigured=Configuration d''un authentificateur (authenticator) pour la méthode {0}
 contextConfig.authenticatorInstantiate=Impossible d''instancier un authentificateur (authenticator) pour la classe {0}
@@ -17,14 +17,14 @@
 contextConfig.defaultParse=Erreur d''évaluation (parse) dans le fichier web.xml par défaut
 contextConfig.defaultPosition=S''est produite à la ligne {0} colonne {1}
 contextConfig.missingRealm=Aucun royaume (realm) n''a été configuré pour réaliser l''authentification
-contextConfig.role.auth=ATTENTION: Le nom de rôle de sécurité {0} est utilisé dans un <auth-constraint> sans avoir été défini dans <security-role>
-contextConfig.role.link=ATTENTION: Le nom de rôle de sécurité {0} est utilisé dans un <role-link> sans avoir été défini dans <security-role>
-contextConfig.role.runas=ATTENTION: Le nom de rôle de sécurité {0} est utilisé dans un <run-as> sans avoir été défini dans <security-role>
+contextConfig.role.auth=Le nom de rôle de sécurité {0} est utilisé dans un <auth-constraint> sans avoir été défini dans <security-role>
+contextConfig.role.link=Le nom de rôle de sécurité {0} est utilisé dans un <role-link> sans avoir été défini dans <security-role>
+contextConfig.role.runas=Le nom de rôle de sécurité {0} est utilisé dans un <run-as> sans avoir été défini dans <security-role>
 contextConfig.start="ContextConfig": Traitement du "START"
 contextConfig.stop="ContextConfig": Traitement du "STOP"
-contextConfig.tldEntryException=Exception lors du traitement de la TLD {0} dans le JAR indiqué par le chemin de ressource {1}
-contextConfig.tldFileException=Exception lors du traitement de la TLD indiqué par le chemin de ressource {0}
-contextConfig.tldJarException=Exception lors du traitement du JAR indiqué par le chemin de ressource {0}
+contextConfig.tldEntryException=Exception lors du traitement de la TLD {0} dans le JAR indiqué par le chemin de ressource {1} dans le contexte {2}
+contextConfig.tldFileException=Exception lors du traitement de la TLD indiqué par le chemin de ressource {0} dans le contexte {1}
+contextConfig.tldJarException=Exception lors du traitement du JAR indiqué par le chemin de ressource {0} dans le contexte {1}
 contextConfig.tldResourcePath=Chemin de ressource TLD {0} invalide
 contextConfig.unavailable=Cette application est marquée comme non disponible suite aux erreurs précédentes
 embedded.alreadyStarted=Le service enfoui (embedded service) a déjà été démarré

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_ja.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_ja.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_ja.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -17,9 +17,9 @@
 contextConfig.defaultParse=\u30c7\u30d5\u30a9\u30eb\u30c8\u306eweb.xml\u4e2d\u306e\u89e3\u6790\u30a8\u30e9\u30fc\u3067\u3059
 contextConfig.defaultPosition={0}\u884c\u306e{1}\u5217\u76ee\u3067\u767a\u751f\u3057\u307e\u3057\u305f
 contextConfig.missingRealm=\u8a8d\u8a3c\u3059\u308b\u305f\u3081\u306b\u30ec\u30eb\u30e0\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-contextConfig.role.auth=\u8b66\u544a: <security-role>\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u306a\u3044\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ed\u30fc\u30eb\u540d {0} \u304c<auth-constraint>\u306e\u4e2d\u3067\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f
-contextConfig.role.link=\u8b66\u544a: <security-role>\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u306a\u3044\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ed\u30fc\u30eb\u540d {0} \u304c<role-link>\u306e\u4e2d\u3067\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f
-contextConfig.role.runas=\u8b66\u544a: <security-role>\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u306a\u3044\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ed\u30fc\u30eb\u540d {0} \u304c<run-as>\u306e\u4e2d\u3067\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f
+contextConfig.role.auth=<security-role>\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u306a\u3044\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ed\u30fc\u30eb\u540d {0} \u304c<auth-constraint>\u306e\u4e2d\u3067\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f
+contextConfig.role.link=<security-role>\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u306a\u3044\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ed\u30fc\u30eb\u540d {0} \u304c<role-link>\u306e\u4e2d\u3067\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f
+contextConfig.role.runas=<security-role>\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u306a\u3044\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ed\u30fc\u30eb\u540d {0} \u304c<run-as>\u306e\u4e2d\u3067\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f
 contextConfig.start=ContextConfig: \u51e6\u7406\u3092\u958b\u59cb\u3057\u307e\u3059
 contextConfig.stop=ContextConfig: \u51e6\u7406\u3092\u505c\u6b62\u3057\u307e\u3059
 contextConfig.tldEntryException=\u30ea\u30bd\u30fc\u30b9\u30d1\u30b9 {1} \u306eJAR\u30d5\u30a1\u30a4\u30eb\u306eTLD {0} \u3092\u51e6\u7406\u4e2d\u306e\u4f8b\u5916\u3067\u3059

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/NamingRuleSet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/NamingRuleSet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/NamingRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 303177 $ $Date: 2004-09-02 05:05:00 -0500 (Thu, 02 Sep 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class NamingRuleSet extends RuleSetBase {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/PasswdUserDatabase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/PasswdUserDatabase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/PasswdUserDatabase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  * that processes the <code>/etc/passwd</code> file on a Unix system.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class PasswdUserDatabase

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/SetAllPropertiesRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/SetAllPropertiesRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/SetAllPropertiesRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/SetContextPropertiesRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/SetContextPropertiesRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/SetContextPropertiesRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/SetNextNamingRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/SetNextNamingRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/SetNextNamingRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
-/* $Id: SetNextNamingRule.java 303133 2004-08-29 16:46:15Z yoavs $
+/* $Id: SetNextNamingRule.java 466608 2006-10-21 23:10:15Z markt $
  *
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/TldConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/TldConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/TldConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/TldRuleSet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/TldRuleSet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/TldRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  * descriptor resource.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302984 $ $Date: 2004-06-26 12:41:33 -0500 (Sat, 26 Jun 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class TldRuleSet extends RuleSetBase {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Tool.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Tool.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/Tool.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -66,7 +67,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302983 $ $Date: 2004-06-25 18:56:25 -0500 (Fri, 25 Jun 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class Tool {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/UserConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/UserConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/UserConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -37,7 +38,7 @@
  * xxxxx is the username of the owning user for that web application
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302976 $ $Date: 2004-06-23 08:51:38 -0500 (Wed, 23 Jun 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class UserConfig

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/UserDatabase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/UserDatabase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/UserDatabase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * current server platform.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface UserDatabase {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/WebRuleSet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/WebRuleSet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/WebRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -33,7 +34,7 @@
  * deployment descriptor (<code>/WEB-INF/web.xml</code>) resource.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 304108 $ $Date: 2005-09-29 00:55:15 -0500 (Thu, 29 Sep 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class WebRuleSet extends RuleSetBase {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/mbeans-descriptors.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/mbeans-descriptors.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/startup/mbeans-descriptors.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -79,6 +79,15 @@
                  type="java.lang.String"/>
     </operation>
 
+    <operation name="isDeployed"
+               description="Was this web application deployed by this component"
+               impact="ACTION"
+               returnType="boolean">
+      <parameter name="name"
+                 description="Application name"
+                 type="java.lang.String"/>
+    </operation>
+
     <operation name="manageApp"
                description="Add a web application managed externally"
                impact="ACTION"

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/AbstractGroup.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/AbstractGroup.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/AbstractGroup.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * <p>Convenience base class for {@link Group} implementations.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303133 $ $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/AbstractRole.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/AbstractRole.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/AbstractRole.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * <p>Convenience base class for {@link Role} implementations.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/AbstractUser.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/AbstractUser.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/AbstractUser.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * <p>Convenience base class for {@link User} implementations.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303133 $ $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
  *
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryGroup.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryGroup.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryGroup.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  * {@link MemoryUserDatabase} implementation of {@link UserDatabase}.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303133 $ $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryRole.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryRole.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryRole.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * {@link MemoryUserDatabase} implementation of {@link UserDatabase}.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303133 $ $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryUser.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryUser.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryUser.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  * {@link MemoryUserDatabase} implementation of {@link UserDatabase}.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303133 $ $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryUserDatabase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryUserDatabase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryUserDatabase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -44,7 +45,7 @@
  * and uses a specified XML file for its persistent storage.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 304047 $ $Date: 2005-08-04 08:12:16 -0500 (Thu, 04 Aug 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryUserDatabaseFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryUserDatabaseFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/users/MemoryUserDatabaseFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -44,7 +45,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 304046 $ $Date: 2005-08-04 08:06:56 -0500 (Thu, 04 Aug 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Base64.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Base64.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Base64.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  * Internet Message Bodies. Reference 1996
  *
  * @author Jeffrey Rodriguez
- * @version $Id: Base64.java 303133 2004-08-29 16:46:15Z yoavs $
+ * @version $Id: Base64.java 466608 2006-10-21 23:10:15Z markt $
  */
 public final class  Base64
 {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CGIProcessEnvironment.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CGIProcessEnvironment.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CGIProcessEnvironment.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  * Encapsulates the CGI Process' environment and rules to derive
  * that environment from the servlet container and request information.
  * @author   Martin Dengler [root at martindengler.com]
- * @version  $Revision: 421480 $, $Date: 2006-07-12 21:26:36 -0500 (Wed, 12 Jul 2006) $
+ * @version  $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since    Tomcat 4.0
  * @deprecated
  */

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CharsetMapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CharsetMapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CharsetMapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -32,7 +33,7 @@
  * your own version for a particular web application.
  *
  * @author Craig R. McClanahan
- * @version $Date: 2005-01-05 04:00:45 -0600 (Wed, 05 Jan 2005) $ $Version$
+ * @version $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $ $Version$
  */
 
 public class CharsetMapper {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CookieTools.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CookieTools.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CookieTools.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CustomObjectInputStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CustomObjectInputStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/CustomObjectInputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  *
  * @author Craig R. McClanahan
  * @author Bip Thelin
- * @version $Revision: 304082 $, $Date: 2005-09-08 10:41:11 -0500 (Thu, 08 Sep 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class CustomObjectInputStream

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/DOMWriter.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/DOMWriter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/DOMWriter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/DateTool.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/DateTool.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/DateTool.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Enumerator.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Enumerator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Enumerator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -34,7 +35,7 @@
  * Constructors are provided to easliy create such wrappers.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class Enumerator implements Enumeration {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Extension.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Extension.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Extension.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -40,7 +41,7 @@
  * @author Craig McClanahan
  * @author Justyna Horwat
  * @author Greg Murray
- * @version $Revision: 360278 $ $Date: 2005-12-31 07:26:41 -0600 (Sat, 31 Dec 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class Extension {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -46,7 +47,7 @@
  *
  * @author Greg Murray
  * @author Justyna Horwat
- * @version $Revision: 360278 $ $Date: 2005-12-31 07:26:41 -0600 (Sat, 31 Dec 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  *
  */
 public final class ExtensionValidator {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/FastDateFormat.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/FastDateFormat.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/FastDateFormat.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/HexUtils.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/HexUtils.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/HexUtils.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/IOTools.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/IOTools.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/IOTools.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/InstanceSupport.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/InstanceSupport.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/InstanceSupport.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -32,7 +33,7 @@
  * registered InstanceListeners.
  *
  * @author Craig R. McClanahan
- * @version $Id: InstanceSupport.java 303133 2004-08-29 16:46:15Z yoavs $
+ * @version $Id: InstanceSupport.java 466608 2006-10-21 23:10:15Z markt $
  */
 
 public final class InstanceSupport {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/LifecycleSupport.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/LifecycleSupport.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/LifecycleSupport.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * registered LifecycleListeners.
  *
  * @author Craig R. McClanahan
- * @version $Id: LifecycleSupport.java 302726 2004-02-27 14:59:07Z yoavs $
+ * @version $Id: LifecycleSupport.java 466608 2006-10-21 23:10:15Z markt $
  */
 
 public final class LifecycleSupport {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/MD5Encoder.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/MD5Encoder.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/MD5Encoder.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * of the digest.
  *
  * @author Remy Maucherat
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class MD5Encoder {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/MIME2Java.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/MIME2Java.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/MIME2Java.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -465,7 +466,7 @@
  *  </TR>
  * </TABLE>
  *
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @author TAMURA Kent &lt;kent at trl.ibm.co.jp&gt;
  */
 public class MIME2Java {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ManifestResource.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ManifestResource.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ManifestResource.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  *  
  * @author Greg Murray
  * @author Justyna Horwat
- * @version $Revision: 360278 $ $Date: 2005-12-31 07:26:41 -0600 (Sat, 31 Dec 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * 
  */
 public class ManifestResource {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ParameterMap.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ParameterMap.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ParameterMap.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  * <code>ParmaeterMap</code> instance is not locked.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class ParameterMap extends HashMap {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ProcessEnvironment.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ProcessEnvironment.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ProcessEnvironment.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * Encapsulates the Process environment and rules to derive
  * that environment from the servlet container and request information.
  * @author   Martin Dengler [root at martindengler.com]
- * @version  $Revision: 421480 $, $Date: 2006-07-12 21:26:36 -0500 (Wed, 12 Jul 2006) $
+ * @version  $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since    Tomcat 4.0
  * @deprecated
  */

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ProcessHelper.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ProcessHelper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ProcessHelper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -53,7 +54,7 @@
      * </p>
      *
      * @author    Martin Dengler [root at martindengler.com]
-     * @version   $Revision: 421480 $, $Date: 2006-07-12 21:26:36 -0500 (Wed, 12 Jul 2006) $
+     * @version   $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
      * @deprecated
      */
 public class ProcessHelper {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Queue.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Queue.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Queue.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/RequestUtil.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/RequestUtil.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/RequestUtil.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  *
  * @author Craig R. McClanahan
  * @author Tim Tye
- * @version $Revision: 302905 $ $Date: 2004-05-26 11:41:54 -0500 (Wed, 26 May 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class RequestUtil {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ResourceSet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ResourceSet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ResourceSet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  * is not locked.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class ResourceSet extends HashSet {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/SchemaResolver.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/SchemaResolver.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/SchemaResolver.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ServerInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ServerInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/ServerInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  * when integrating Tomcat.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303276 $ $Date: 2004-09-24 11:41:12 -0500 (Fri, 24 Sep 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ServerInfo {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Strftime.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Strftime.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/Strftime.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -39,7 +40,7 @@
  *
  * @author Bip Thelin
  * @author Dan Sandberg
- * @version $Revision: 303133 $, $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class Strftime {
     protected static Properties translate;

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/StringManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/StringManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/StringManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/StringParser.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/StringParser.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/StringParser.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  * method with the appropriate saved offset values.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class StringParser {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/TomcatCSS.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/TomcatCSS.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/TomcatCSS.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/URL.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/URL.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/URL.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -41,7 +42,7 @@
  * package someplace.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class URL implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/URLEncoder.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/URLEncoder.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/URLEncoder.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/XMLWriter.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/XMLWriter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/util/XMLWriter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/AccessLogValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -104,7 +105,7 @@
  *
  * @author Craig R. McClanahan
  * @author Jason Brittain
- * @version $Revision: 303826 $ $Date: 2005-03-31 04:31:54 -0600 (Thu, 31 Mar 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class AccessLogValve

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/ErrorReportValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/ErrorReportValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/ErrorReportValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,6 +21,7 @@
 
 import java.io.IOException;
 import java.io.Writer;
+import java.sql.SQLException;
 
 import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
@@ -48,7 +50,7 @@
  * @author <a href="mailto:nicolaken at supereva.it">Nicola Ken Barozzi</a> Aisa
  * @author <a href="mailto:stefano at apache.org">Stefano Mazzocchi</a>
  * @author Yoav Shapira
- * @version $Revision: 304023 $ $Date: 2005-07-26 07:45:22 -0500 (Tue, 26 Jul 2005) $
+ * @version $Revision: 500713 $ $Date: 2007-01-27 17:51:28 -0700 (Sat, 27 Jan 2007) $
  */
 
 public class ErrorReportValve
@@ -71,6 +73,16 @@
     protected static StringManager sm =
         StringManager.getManager(Constants.Package);
 
+    private static Class jspExceptionClazz;
+    
+    static {
+        try {
+            jspExceptionClazz = Class.forName("javax.servlet.jsp.JspException");
+        } catch (ClassNotFoundException e) {
+            // Expected if jsp-api not on classpath, eg when embedding
+            jspExceptionClazz = null;
+        }
+    }
 
     // ------------------------------------------------------------- Properties
 
@@ -228,6 +240,7 @@
             sb.append(RequestUtil.filter(stackTrace));
             sb.append("</pre></p>");
 
+            Throwable nestedRootCause = null;
             while (rootCause != null) {
                 stackTrace = JdkCompat.getJdkCompat()
                     .getPartialServletStackTrace(rootCause);
@@ -238,8 +251,28 @@
                 sb.append("</pre></p>");
                 // In case root cause is somehow heavily nested
                 try {
-                    rootCause = (Throwable)IntrospectionUtils.getProperty
-                                                (rootCause, "rootCause");
+                    if (rootCause instanceof ServletException) {
+                        nestedRootCause =
+                            ((ServletException) rootCause).getRootCause();
+                    } else if (jspExceptionClazz!=null &&
+                            jspExceptionClazz.isAssignableFrom(
+                                    rootCause.getClass())) {
+                        nestedRootCause = (Throwable)IntrospectionUtils.
+                                getProperty(rootCause, "rootCause"); 
+                    } else if (rootCause instanceof SQLException) {
+                        nestedRootCause = ((SQLException) rootCause).
+                                getNextException();
+                    }
+                    if (nestedRootCause == null) {
+                        nestedRootCause = rootCause.getCause();
+                    }
+
+                    if (rootCause == nestedRootCause)
+                        rootCause = null;
+                    else {
+                        rootCause = nestedRootCause;
+                        nestedRootCause = null;
+                    }
                 } catch (ClassCastException e) {
                     rootCause = null;
                 }

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -129,7 +130,7 @@
  *
  *
  * @author Tim Funk
- * @version $Revision: 303601 $ $Date: 2004-12-23 17:58:07 -0600 (Thu, 23 Dec 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ExtendedAccessLogValve

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/FastCommonAccessLogValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/FastCommonAccessLogValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/FastCommonAccessLogValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -54,7 +55,7 @@
  * @author Craig R. McClanahan
  * @author Jason Brittain
  * @author Remy Maucherat
- * @version $Revision: 304032 $ $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class FastCommonAccessLogValve
@@ -115,14 +116,6 @@
 
 
     /**
-     * If the current log pattern is the same as the common access log
-     * format pattern, then we'll set this variable to true and log in
-     * a more optimal and hard-coded way.
-     */
-    private boolean common = false;
-
-
-    /**
      * For the combined format (common, plus useragent and referer), we do
      * the same
      */
@@ -252,12 +245,6 @@
 
 
     /**
-     * Instant when the log daily rotation was last checked.
-     */
-    private long rotationLastChecked = 0L;
-
-
-    /**
      * Are we doing conditional logging. default false.
      */
     private String condition = null;

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -74,7 +75,6 @@
  * <pre>
  * CREATE TABLE access (
  * id INT UNSIGNED AUTO_INCREMENT NOT NULL,
- * ts TIMESTAMP NOT NULL,
  * remoteHost CHAR(15) NOT NULL,
  * userName CHAR(15),
  * timestamp TIMESTAMP NOT NULL,
@@ -86,7 +86,7 @@
  * referer VARCHAR(128),
  * userAgent VARCHAR(128),
  * PRIMARY KEY (id),
- * INDEX (ts),
+ * INDEX (timestamp),
  * INDEX (remoteHost),
  * INDEX (virtualHost),
  * INDEX (query),
@@ -453,20 +453,7 @@
         if(bytes < 0)
             bytes = 0;
         int status = response.getStatus();
-        if (pattern.equals("combined")) {
-                String virtualHost = "";
-                if(request != null)
-                    virtualHost = request.getServerName();
-                String method = "";
-                if(request != null)
-                    method = request.getMethod();
-                String referer = "";
-                if(request != null)
-                    referer = request.getHeader("referer");
-                String userAgent = "";
-                if(request != null)
-                    userAgent = request.getHeader("user-agent");
-        }
+
         synchronized (this) {
           int numberOfTries = 2;
           while (numberOfTries>0) {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -8,8 +8,6 @@
 interceptorValve.notStarted=Interceptor Valve has not yet been started
 requestFilterValve.next=No ''next'' valve has been configured
 requestFilterValve.syntax=Syntax error in request filter pattern {0}
-requestListenerValve.requestInit=Exception sending request initialized lifecycle event to listener instance of class {0}
-requestListenerValve.requestDestroy=Exception sending request destroyed lifecycle event to listener instance of class {0}
 valveBase.noNext=Configuration error: No ''next'' valve configured
 jdbcAccessLogValve.exception=Exception performing insert access entry
 jdbcAccessLogValve.close=Exception closing database connection

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_es.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_es.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_es.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -6,8 +6,6 @@
 interceptorValve.notStarted=La válvula interceptora no se ha iniciado
 requestFilterValve.next=No hay ''siguiente'' válvula configurada
 requestFilterValve.syntax=Error de sintáxis en petición de filtro patrón {0}
-requestListenerValve.requestInit=Una excepción durante el envío de requerimiento ha iniciado un evento de ciclo de vida (lifecycle event) para la instancia de clase a la escucha (listener) {0}
-requestListenerValve.requestDestroy=Una excepción durante el envío de requerimiento ha destruído un evento de ciclo de vida (lifecycle event) para la instancia de clase a la escucha (listener) {0}
 valveBase.noNext=Error de configuración: No hay ''siguiente'' válvula configurada
 jdbcAccessLogValve.exception=Excepción realizando entrada de acceso a inserción
 jdbcAccessLogValve.close=Excepción cerrando conexión a base de datos

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_fr.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_fr.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_fr.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -6,8 +6,6 @@
 interceptorValve.notStarted=La Valve d''Interception n''a pas encore été démarrée
 requestFilterValve.next=Aucune Valve ''suivante'' n''a été configurée
 requestFilterValve.syntax=Erreur de synthaxe dans le pattern de filtre de requête {0}
-requestListenerValve.requestInit=Une exception lors de l''envoi de requête a initié un évènement cycle de vie (lifecycle event) pour l''instance de classe à l''écoute (listener) {0}
-requestListenerValve.requestDestroy=Une exception lors de l''envoi de requête a détruit un évènement cycle de vie (lifecycle event) pour l''instance de classe à l''écoute (listener) {0}
 valveBase.noNext=Erreur de configuration error: Aucune Valve ''suivante'' n''a été configurée
 
 # Error report valve

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_ja.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_ja.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_ja.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -6,8 +6,6 @@
 interceptorValve.notStarted=\u30a4\u30f3\u30bf\u30fc\u30bb\u30d7\u30bf\u30d0\u30eb\u30d6\u306f\u307e\u3060\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
 requestFilterValve.next=\u6b21\u306e\u30d0\u30eb\u30d6\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093
 requestFilterValve.syntax=\u30ea\u30af\u30a8\u30b9\u30c8\u30d5\u30a3\u30eb\u30bf\u30d1\u30bf\u30fc\u30f3 {0} \u306b\u69cb\u6587\u30a8\u30e9\u30fc\u304c\u3042\u308a\u307e\u3059
-requestListenerValve.requestInit=\u30af\u30e9\u30b9 {0} \u306e\u30ea\u30b9\u30ca\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u521d\u671f\u5316\u3059\u308b\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a4\u30d9\u30f3\u30c8\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-requestListenerValve.requestDestroy=\u30af\u30e9\u30b9 {0} \u306e\u30ea\u30b9\u30ca\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u5ec3\u68c4\u3059\u308b\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a4\u30d9\u30f3\u30c8\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u4e2d\u306e\u4f8b\u5916\u3067\u3059
 jdbcAccessLogValve.exception=\u30a2\u30af\u30bb\u30b9\u30a8\u30f3\u30c8\u30ea\u306e\u633f\u5165\u3092\u5b9f\u884c\u4e2d\u306e\u4f8b\u5916\u3067\u3059
 jdbcAccessLogValve.close=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u3092\u30af\u30ed\u30fc\u30ba\u4e2d\u306e\u4f8b\u5916\u3067\u3059
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/PersistentValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/PersistentValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/PersistentValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,6 @@
 import org.apache.catalina.Store;
 import org.apache.catalina.connector.Request;
 import org.apache.catalina.connector.Response;
-import org.apache.catalina.core.StandardHost;
 import org.apache.catalina.session.PersistentManager;
 import org.apache.catalina.util.StringManager;
 
@@ -41,7 +41,7 @@
  * <b>USAGE CONSTRAINT</b>: To work correctly it requires a  PersistentManager.
  *
  * @author Jean-Frederic Clere
- * @version $Revision: 303826 $ $Date: 2005-03-31 04:31:54 -0600 (Thu, 31 Mar 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class PersistentValve
@@ -96,7 +96,6 @@
         throws IOException, ServletException {
 
         // Select the Context to be used for this Request
-        StandardHost host = (StandardHost) getContainer();
         Context context = request.getContext();
         if (context == null) {
             response.sendError

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RemoteAddrValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RemoteAddrValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RemoteAddrValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * based on the string representation of the remote client's IP address.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303133 $ $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class RemoteAddrValve

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RemoteHostValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RemoteHostValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RemoteHostValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * based on the remote client's host name.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 304096 $ $Date: 2005-09-20 16:02:12 -0500 (Tue, 20 Sep 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class RemoteHostValve

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RequestDumperValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RequestDumperValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RequestDumperValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -39,14 +40,22 @@
  * <p>This Valve may be attached to any Container, depending on the granularity
  * of the logging you wish to perform.</p>
  *
+ * <p>Note that this Valve sets the character encoding of the request to the default
+ * (ISO-8859-1) if it's the first thing invoking request.getParameterNames, which
+ * is usually the case.  If you're running in an environment where this encoding
+ * is problematic, consider using another debugging approach such as a Filter that
+ * reproduces this Valve's functionality.</p>
+ *
+ * <p>For a similar mechanism that is portable to all Servlet 2.4
+ * containers, check out the "RequestDumperFilter" Filter in the
+ * example application (the source for this filter may be found in
+ * $CATALINA_HOME/webapps/examples/WEB-INF/classes/filters.</p>
+ *
  * @author Craig R. McClanahan
- * @version $Revision: 303133 $ $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 490487 $ $Date: 2006-12-27 05:26:07 -0700 (Wed, 27 Dec 2006) $
  */
 
-public class RequestDumperValve
-    extends ValveBase {
-
-
+public class RequestDumperValve extends ValveBase {
     // ----------------------------------------------------- Instance Variables
 
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RequestFilterValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RequestFilterValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/RequestFilterValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -62,7 +63,7 @@
  * of the filtering you wish to perform.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303161 $ $Date: 2004-09-01 05:10:10 -0500 (Wed, 01 Sep 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public abstract class RequestFilterValve

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/SemaphoreValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/SemaphoreValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/SemaphoreValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -39,7 +40,7 @@
  * of the concurrency control you wish to perform.</p>
  *
  * @author Remy Maucherat
- * @version $Revision: 386404 $ $Date: 2006-03-16 11:50:37 -0600 (Thu, 16 Mar 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class SemaphoreValve

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/ValveBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/ValveBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/catalina/valves/ValveBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -50,7 +51,7 @@
  * management and lifecycle support.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 304023 $ $Date: 2005-07-26 07:45:22 -0500 (Tue, 26 Jul 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public abstract class ValveBase

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ContextAccessController.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ContextAccessController.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ContextAccessController.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
  * Handles the access control on the JNDI contexts.
  *
  * @author Remy Maucherat
- * @version $Revision: 303133 $ $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ContextAccessController {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ContextBindings.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ContextBindings.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ContextBindings.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * </ul>
  *
  * @author Remy Maucherat
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ContextBindings {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/EjbRef.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/EjbRef.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/EjbRef.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
  * Represents a reference address to an EJB.
  *
  * @author Remy Maucherat
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class EjbRef

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/JndiPermission.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/JndiPermission.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/JndiPermission.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -32,7 +33,7 @@
  * </p>
  *
  * @author Glenn Nielsen
- * @version $Revision: 303133 $ $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class JndiPermission extends BasicPermission {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NameParserImpl.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NameParserImpl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NameParserImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * Parses names.
  *
  * @author Remy Maucherat
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class NameParserImpl 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -40,7 +41,7 @@
  * Catalina JNDI Context implementation.
  *
  * @author Remy Maucherat
- * @version $Revision: 366304 $ $Date: 2006-01-05 15:42:29 -0600 (Thu, 05 Jan 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class NamingContext implements Context {
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingContextBindingsEnumeration.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingContextBindingsEnumeration.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingContextBindingsEnumeration.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * Naming enumeration implementation.
  *
  * @author Remy Maucherat
- * @version $Revision: 366304 $ $Date: 2006-01-05 15:42:29 -0600 (Thu, 05 Jan 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class NamingContextBindingsEnumeration 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingContextEnumeration.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingContextEnumeration.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingContextEnumeration.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  * Naming enumeration implementation.
  *
  * @author Remy Maucherat
- * @version $Revision: 303022 $ $Date: 2004-07-23 17:46:08 -0500 (Fri, 23 Jul 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class NamingContextEnumeration 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingEntry.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingEntry.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingEntry.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
  * Represents a binding in a NamingContext.
  *
  * @author Remy Maucherat
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class NamingEntry {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingService.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingService.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingService.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * Implementation of the NamingService JMX MBean.
  * 
  * @author <a href="mailto:remm at apache.org">Remy Maucherat</a>
- * @version $Revision: 303104 $
+ * @version $Revision: 466608 $
  */
 
 public final class NamingService

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingServiceMBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingServiceMBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/NamingServiceMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,7 +21,7 @@
  * Naming MBean interface.
  * 
  * @author <a href="mailto:remm at apache.org">Remy Maucherat</a>
- * @version $Revision: 302726 $
+ * @version $Revision: 466608 $
  */
 
 public interface NamingServiceMBean {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ResourceEnvRef.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ResourceEnvRef.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ResourceEnvRef.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * Represents a reference address to a resource environment.
  *
  * @author Remy Maucherat
- * @version $Revision: 303133 $ $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ResourceEnvRef

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ResourceLinkRef.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ResourceLinkRef.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ResourceLinkRef.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
  * Represents a reference address to a resource.
  *
  * @author Remy Maucherat
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ResourceLinkRef

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ResourceRef.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ResourceRef.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/ResourceRef.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * Represents a reference address to a resource.
  *
  * @author Remy Maucherat
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ResourceRef

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/SelectorContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/SelectorContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/SelectorContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * Catalina JNDI Context implementation.
  *
  * @author Remy Maucherat
- * @version $Revision: 303999 $ $Date: 2005-07-20 16:25:18 -0500 (Wed, 20 Jul 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class SelectorContext implements Context {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/StringManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/StringManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/StringManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/TransactionRef.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/TransactionRef.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/TransactionRef.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * Represents a reference address to a transaction.
  *
  * @author Remy Maucherat
- * @version $Revision: 303133 $ $Date: 2004-08-29 11:46:15 -0500 (Sun, 29 Aug 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class TransactionRef

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/BeanFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/BeanFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/BeanFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/EjbFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/EjbFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/EjbFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  * Object factory for EJBs.
  * 
  * @author Remy Maucherat
- * @version $Revision: 375650 $ $Date: 2006-02-07 11:55:11 -0600 (Tue, 07 Feb 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class EjbFactory

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/MailSessionFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/MailSessionFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/MailSessionFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -61,7 +62,7 @@
  * </pre>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303771 $ $Date: 2005-03-23 09:30:56 -0600 (Wed, 23 Mar 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class MailSessionFactory implements ObjectFactory {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/OpenEjbFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/OpenEjbFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/OpenEjbFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -33,7 +34,7 @@
  * 
  * @author Jacek Laskowski
  * @author Remy Maucherat
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class OpenEjbFactory implements ObjectFactory {
 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/ResourceEnvFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/ResourceEnvFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/ResourceEnvFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  * Object factory for Resources env.
  * 
  * @author Remy Maucherat
- * @version $Revision: 375650 $ $Date: 2006-02-07 11:55:11 -0600 (Tue, 07 Feb 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ResourceEnvFactory

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/ResourceFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/ResourceFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/ResourceFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  * Object factory for Resources.
  * 
  * @author Remy Maucherat
- * @version $Revision: 375650 $ $Date: 2006-02-07 11:55:11 -0600 (Tue, 07 Feb 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ResourceFactory

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/ResourceLinkFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/ResourceLinkFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/ResourceLinkFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -33,7 +34,7 @@
  * <p>Object factory for resource links.</p>
  * 
  * @author Remy Maucherat
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ResourceLinkFactory

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/SendMailFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/SendMailFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/SendMailFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/TransactionFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/TransactionFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/factory/TransactionFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  * Object factory for User trasactions.
  * 
  * @author Remy Maucherat
- * @version $Revision: 375650 $ $Date: 2006-02-07 11:55:11 -0600 (Tue, 07 Feb 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class TransactionFactory

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/java/javaURLContextFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/java/javaURLContextFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/java/javaURLContextFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -43,7 +44,7 @@
  * </ul>
  * 
  * @author Remy Maucherat
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class javaURLContextFactory

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/BaseDirContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/BaseDirContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/BaseDirContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -36,7 +37,7 @@
  * Directory Context implementation helper class.
  *
  * @author Remy Maucherat
- * @version $Revision: 303999 $ $Date: 2005-07-20 16:25:18 -0500 (Wed, 20 Jul 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public abstract class BaseDirContext implements DirContext {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/CacheEntry.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/CacheEntry.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/CacheEntry.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
  * Implements a cache entry.
  * 
  * @author <a href="mailto:remm at apache.org">Remy Maucherat</a>
- * @version $Revision: 302726 $
+ * @version $Revision: 466608 $
  */
 public class CacheEntry {
     

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -44,7 +45,7 @@
  * content is directly returned.
  * 
  * @author <a href="mailto:remm at apache.org">Remy Maucherat</a>
- * @version $Revision: 303022 $
+ * @version $Revision: 466608 $
  */
 public class DirContextURLConnection 
     extends URLConnection {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * Stream handler to a JNDI directory context.
  * 
  * @author <a href="mailto:remm at apache.org">Remy Maucherat</a>
- * @version $Revision: 304080 $
+ * @version $Revision: 466608 $
  */
 public class DirContextURLStreamHandler 
     extends URLStreamHandler {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandlerFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandlerFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandlerFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
  * Factory for Stream handlers to a JNDI directory context.
  * 
  * @author <a href="mailto:remm at apache.org">Remy Maucherat</a>
- * @version $Revision: 302726 $
+ * @version $Revision: 466608 $
  */
 public class DirContextURLStreamHandlerFactory 
     implements URLStreamHandlerFactory {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/FileDirContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/FileDirContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/FileDirContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -44,7 +45,7 @@
  * Filesystem Directory Context implementation helper class.
  *
  * @author Remy Maucherat
- * @version $Revision: 393882 $ $Date: 2006-04-13 13:46:19 -0500 (Thu, 13 Apr 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class FileDirContext extends BaseDirContext {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ImmutableNameNotFoundException.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ImmutableNameNotFoundException.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ImmutableNameNotFoundException.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
  * properly populated exceptions.
  * 
  * @author <a href="mailto:remm at apache.org">Remy Maucherat</a>
- * @version $Revision: 302726 $
+ * @version $Revision: 466608 $
  */
 public class ImmutableNameNotFoundException
     extends NameNotFoundException {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ProxyDirContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ProxyDirContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ProxyDirContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -39,7 +40,7 @@
  * Proxy Directory Context implementation.
  *
  * @author Remy Maucherat
- * @version $Revision: 304085 $ $Date: 2005-09-12 05:57:46 -0500 (Mon, 12 Sep 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ProxyDirContext implements DirContext {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/RecyclableNamingEnumeration.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/RecyclableNamingEnumeration.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/RecyclableNamingEnumeration.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  * Naming enumeration implementation.
  *
  * @author Remy Maucherat
- * @version $Revision: 303022 $ $Date: 2004-07-23 17:46:08 -0500 (Fri, 23 Jul 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class RecyclableNamingEnumeration 

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/Resource.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/Resource.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/Resource.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * Encapsultes the contents of a resource.
  * 
  * @author <a href="mailto:remm at apache.org">Remy Maucherat</a>
- * @version $Revision: 302726 $
+ * @version $Revision: 466608 $
  */
 public class Resource {
     

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ResourceAttributes.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ResourceAttributes.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ResourceAttributes.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -33,7 +34,7 @@
  * Attributes implementation.
  * 
  * @author <a href="mailto:remm at apache.org">Remy Maucherat</a>
- * @version $Revision: 303877 $
+ * @version $Revision: 466608 $
  */
 public class ResourceAttributes implements Attributes {
     

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ResourceCache.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ResourceCache.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/ResourceCache.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * Implements a special purpose cache.
  * 
  * @author <a href="mailto:remm at apache.org">Remy Maucherat</a>
- * @version $Revision: 436866 $
+ * @version $Revision: 466608 $
  */
 public class ResourceCache {
     

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/WARDirContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/WARDirContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/WARDirContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -47,7 +48,7 @@
  * WAR Directory Context implementation.
  *
  * @author Remy Maucherat
- * @version $Revision: 366304 $ $Date: 2006-01-05 15:42:29 -0600 (Thu, 05 Jan 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class WARDirContext extends BaseDirContext {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/jndi/Handler.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/jndi/Handler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/share/org/apache/naming/resources/jndi/Handler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
  * Stream handler to a JNDI directory context.
  * 
  * @author <a href="mailto:remm at apache.org">Remy Maucherat</a>
- * @version $Revision: 302726 $
+ * @version $Revision: 466608 $
  */
 public class Handler 
     extends DirContextURLStreamHandler {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/catalina/util/CookieToolsTestCase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/catalina/util/CookieToolsTestCase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/catalina/util/CookieToolsTestCase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  * Unit tests for the <code>CookieTools</code> class.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class CookieToolsTestCase extends TestCase {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/catalina/util/URLTestCase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/catalina/util/URLTestCase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/catalina/util/URLTestCase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  * Unit tests for the <code>org.apache.catalina.util.URL</code> class.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class URLTestCase extends TestCase {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/naming/resources/BaseDirContextTestCase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/naming/resources/BaseDirContextTestCase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/naming/resources/BaseDirContextTestCase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -58,7 +59,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public abstract class BaseDirContextTestCase extends TestCase {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/naming/resources/FileDirContextTestCase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/naming/resources/FileDirContextTestCase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/naming/resources/FileDirContextTestCase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -36,7 +37,7 @@
  * Unit tests for <code>org.apache.naming.resources.FileDirContext</code>.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class FileDirContextTestCase extends BaseDirContextTestCase {

Modified: branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/naming/resources/WARDirContextTestCase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/naming/resources/WARDirContextTestCase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/catalina/src/test/org/apache/naming/resources/WARDirContextTestCase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -40,7 +41,7 @@
  * Unit tests for <code>org.apache.naming.resources.WARDirContext</code>.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class WARDirContextTestCase extends BaseDirContextTestCase {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/build.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/build.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -100,6 +100,8 @@
     	  tofile="${catalina.build}/classes/org/apache/catalina/cluster/mcast/LocalStrings.properties"/>
     <copy file="${basedir}/src/share/org/apache/catalina/cluster/mcast/mbeans-descriptors.xml"
      	  tofile="${catalina.build}/classes/org/apache/catalina/cluster/mcast/mbeans-descriptors.xml"/>
+    <copy file="${basedir}/src/share/org/apache/catalina/cluster/authenticator/mbeans-descriptors.xml"
+     	  tofile="${catalina.build}/classes/org/apache/catalina/cluster/authenticator/mbeans-descriptors.xml"/>
    </target>
 
 
@@ -115,7 +117,7 @@
       version="true"
       windowtitle="Catalina Internal API Documentation"
       doctitle="Catalina API"
-      bottom="Copyright &#169; 2000-2002 Apache Software Foundation.  All Rights Reserved."
+      bottom="Copyright &#169; 2000-2007 Apache Software Foundation.  All Rights Reserved."
     />
   </target>
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/CatalinaCluster.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/CatalinaCluster.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/CatalinaCluster.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * different cluster implementations
  *
  * @author Filip Hanik
- * @version $Revision: 380229 $, $Date: 2006-02-23 15:28:29 -0600 (Thu, 23 Feb 2006) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface CatalinaCluster extends Cluster {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterDeployer.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterDeployer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterDeployer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -21,7 +22,7 @@
  * different deployment implementations
  *
  * @author Filip Hanik
- * @version $Revision: 380229 $, $Date: 2006-02-23 15:28:29 -0600 (Thu, 23 Feb 2006) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 import org.apache.catalina.LifecycleException;
 import java.io.IOException;

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterMessage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterReceiver.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterReceiver.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterReceiver.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -21,7 +22,7 @@
  * Cluster Receiver Interface
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 380229 $, $Date: 2006-02-23 15:28:29 -0600 (Thu, 23 Feb 2006) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public interface ClusterReceiver {
     /**

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterRuleSet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterRuleSet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  *
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 380229 $ $Date: 2006-02-23 15:28:29 -0600 (Thu, 23 Feb 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ClusterRuleSet extends RuleSetBase {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterSender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterSender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterSender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
  * 
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 303950 $, $Date: 2005-06-09 15:38:30 -0500 (Thu, 09 Jun 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  *
  */
 public interface ClusterSender

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterSession.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterSession.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterSession.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
  * Cluster Valve Interface to mark all Cluster Valves 
  * Only those Valve can'be configured as Cluster Valves
  * @author Peter Rossbach
- * @version $Revision: 303842 $, $Date: 2005-04-10 11:20:46 -0500 (Sun, 10 Apr 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public interface ClusterValve {
     /**

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
  * package.
  *
  * @author Bip Thelin
- * @version $Revision: 302726 $, $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class Constants {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/Member.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/Member.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/Member.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * switch out the service used to establish membership in between the cluster nodes.
  *
  * @author Filip Hanik
- * @version $Revision: 303950 $, $Date: 2005-06-09 15:38:30 -0500 (Thu, 09 Jun 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/MembershipListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/MembershipListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/MembershipListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
  * when a member has joined the cluster and when a member has disappeared (crashed)
  *
  * @author Filip Hanik
- * @version $Revision: 302726 $, $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/MembershipService.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/MembershipService.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/MembershipService.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
  * logic in the cluster.
  * @author Peter Rossbach
  * @author Filip Hanik
- * @version $Revision: 380229 $, $Date: 2006-02-23 15:28:29 -0600 (Thu, 23 Feb 2006) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/MessageListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/MessageListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/MessageListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Added: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/ClusterSingleSignOn.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/ClusterSingleSignOn.java	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/ClusterSingleSignOn.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,375 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package org.apache.catalina.cluster.authenticator;
+
+
+import java.security.Principal;
+
+import org.apache.catalina.Container;
+import org.apache.catalina.Cluster;
+import org.apache.catalina.Engine;
+import org.apache.catalina.Host;
+import org.apache.catalina.LifecycleException;
+import org.apache.catalina.Manager;
+import org.apache.catalina.Session;
+import org.apache.catalina.authenticator.SingleSignOn;
+import org.apache.catalina.authenticator.SingleSignOnEntry;
+import org.apache.catalina.cluster.CatalinaCluster;
+import org.apache.catalina.cluster.ClusterManager;
+import org.apache.catalina.cluster.ClusterValve;
+
+/**
+ * A <strong>Valve</strong> that supports a "single sign on" user experience on
+ * each nodes of a cluster, where the security identity of a user who successfully
+ * authenticates to one web application is propogated to other web applications and
+ * to other nodes cluster in the same security domain.  For successful use, the following
+ * requirements must be met:
+ * <ul>
+ * <li>This Valve must be configured on the Container that represents a
+ *     virtual host (typically an implementation of <code>Host</code>).</li>
+ * <li>The <code>Realm</code> that contains the shared user and role
+ *     information must be configured on the same Container (or a higher
+ *     one), and not overridden at the web application level.</li>
+ * <li>The web applications themselves must use one of the standard
+ *     Authenticators found in the
+ *     <code>org.apache.catalina.authenticator</code> package.</li>
+ * </ul>
+ *
+ * @author Fabien Carrion
+ * @author Peter Rossbach
+ * @version $Revision: 497501 $ $Date: 2007-01-18 10:11:59 -0700 (Thu, 18 Jan 2007) $
+ */
+
+public class ClusterSingleSignOn
+    extends SingleSignOn implements ClusterValve {
+
+    // ----------------------------------------------------- Instance Variables
+
+    /**
+     * Descriptive information about this Valve implementation.
+     */
+    protected static String info =
+        "org.apache.catalina.cluster.authenticator.ClusterSingleSignOn/1.0";
+
+    protected int messageNumber = 0;
+
+    private ClusterSingleSignOnListener clusterSSOListener = null;
+
+    // ------------------------------------------------------------- Properties
+
+    private CatalinaCluster cluster = null;
+
+    /**
+     * Return descriptive information about this Valve implementation.
+     */
+    public String getInfo() {
+        return (info);
+    }
+
+    public CatalinaCluster getCluster() {
+        return cluster;
+    }
+
+    public void setCluster(CatalinaCluster cluster) {
+        this.cluster = cluster;
+    }
+
+    // ------------------------------------------------------ Lifecycle Methods
+
+    /**
+     * Prepare for the beginning of active use of the public methods of this
+     * component.  This method should be called after <code>configure()</code>,
+     * and before any of the public methods of the component are utilized.
+     *
+     * @exception LifecycleException if this component detects a fatal error
+     *  that prevents this component from being used
+     */
+    public void start() throws LifecycleException {
+        super.start();
+        clusterSSOListener = new ClusterSingleSignOnListener();
+        clusterSSOListener.setClusterSSO(this);
+        // Load the cluster component, if any
+        try {
+            //the channel is already running
+            Cluster cluster = getCluster();
+            // stop remove cluster binding
+            if(cluster == null) {
+                Container host = getContainer();
+                if(host != null && host instanceof Host) {
+                    cluster = host.getCluster();
+                    if(cluster != null && cluster instanceof CatalinaCluster) {
+                        setCluster((CatalinaCluster) cluster);
+                    } else {
+                        Container engine = host.getParent();
+                        if(engine != null && engine instanceof Engine) {
+                            cluster = engine.getCluster();
+                            if(cluster != null && cluster instanceof CatalinaCluster) {
+                                setCluster((CatalinaCluster) cluster);
+                            }
+                        } else {
+                            cluster = null;
+                        }
+                    }
+                }
+            }
+            if (cluster == null) {
+                throw new LifecycleException
+                ("There is no Cluster for ClusterSingleSignOn");
+            }
+            ((CatalinaCluster)cluster).addClusterListener(clusterSSOListener);
+        } catch (Throwable t) {
+            throw new LifecycleException
+            ("ClusterSingleSignOn exception during clusterLoad " + t);
+        }
+    }
+
+    /**
+     * Gracefully terminate the active use of the public methods of this
+     * component.  This method should be the last one called on a given
+     * instance of this component.
+     *
+     * @exception LifecycleException if this component detects a fatal error
+     *  that needs to be reported
+     */
+    public void stop() throws LifecycleException {
+        super.stop();
+        if (getCluster() != null && getCluster() instanceof CatalinaCluster) {
+            getCluster().removeClusterListener(clusterSSOListener);
+        }
+    }
+
+    // --------------------------------------------------------- Public Methods
+
+    /**
+     * Return a String rendering of this object.
+     */
+    public String toString() {
+        StringBuffer sb = new StringBuffer("ClusterSingleSignOn[");
+        if (container == null )
+            sb.append("Container is null");
+        else
+            sb.append(container.getName());
+        sb.append("]");
+        return (sb.toString());
+    }
+
+    // ------------------------------------------------------ Protected Methods
+
+    /**
+     * Notify the cluster of the addition of a Session to
+     * an SSO session and associate the specified single
+     * sign on identifier with the specified Session on the
+     * local node.
+     *
+     * @param ssoId Single sign on identifier
+     * @param session Session to be associated
+     */
+    protected void associate(String ssoId, Session session) {
+        boolean addSession = true ;
+        SingleSignOnEntry entry = lookup(ssoId);
+        if (entry != null) {
+            addSession = !entry.sessionExists(session);
+        }
+        if(addSession) {
+            sendSSOId(ssoId,session,SingleSignOnMessage.ADD_SESSION) ;
+            associateLocal(ssoId, session);
+        }
+    }
+
+    protected void associateLocal(String ssoId, Session session) {
+        super.associate(ssoId, session);
+    }
+
+    /**
+     * Notify the cluster of the removal of a Session from an
+     * SSO session and deregister the specified session. If it is the last
+     * session, then also get rid of the single sign on identifier on the
+     * local node.
+     *
+     * @param ssoId Single sign on identifier
+     * @param session Session to be deregistered
+     */
+    protected void deregister(String ssoId, Session session) {
+       sendSSOId(ssoId,session,SingleSignOnMessage.DEREGISTER_SESSION) ;
+       deregisterLocal(ssoId, session);
+    }
+
+    protected void deregisterLocal(String ssoId, Session session) {
+        super.deregister(ssoId, session);
+    }
+
+    /**
+     * Notifies the cluster that a single sign on session
+     * has been terminated due to a user logout, deregister
+     * the specified single sign on identifier, and invalidate
+     * any associated sessions on the local node.
+     *
+     * @param ssoId Single sign on identifier to deregister
+     */
+    protected void deregister(String ssoId) {
+        sendSSOId(ssoId,null,SingleSignOnMessage.LOGOUT_SESSION) ;
+        deregisterLocal(ssoId);
+    }
+
+    protected void deregisterLocal(String ssoId) {
+        super.deregister(ssoId);
+    }
+
+    /**
+     * Notifies the cluster of the creation of a new SSO entry
+     * and register the specified Principal as being associated
+     * with the specified value for the single sign on identifier.
+     *
+     * @param ssoId Single sign on identifier to register
+     * @param principal Associated user principal that is identified
+     * @param authType Authentication type used to authenticate this
+     *  user principal
+     * @param username Username used to authenticate this user
+     * @param password Password used to authenticate this user
+     */
+    protected void register(String ssoId, Principal principal, String authType,
+                  String username, String password) {
+        sendSSOIdWithAuth(ssoId,
+                authType, username, password,
+                SingleSignOnMessage.REGISTER_SESSION);
+     	registerLocal(ssoId, principal, authType, username, password);
+    }
+
+    protected void registerLocal(String ssoId, Principal principal, String authType,
+                  String username, String password) {
+        super.register(ssoId, principal, authType, username, password);
+    }
+
+    /**
+     * Notifies the cluster of an update of the security credentials
+     * associated with an SSO session. Updates any <code>SingleSignOnEntry</code>
+     * found under key <code>ssoId</code> with the given authentication data.
+     * <p>
+     * The purpose of this method is to allow an SSO entry that was
+     * established without a username/password combination (i.e. established
+     * following DIGEST or CLIENT-CERT authentication) to be updated with
+     * a username and password if one becomes available through a subsequent
+     * BASIC or FORM authentication.  The SSO entry will then be usable for
+     * reauthentication.
+     * <p>
+     * <b>NOTE:</b> Only updates the SSO entry if a call to
+     * <code>SingleSignOnEntry.getCanReauthenticate()</code> returns
+     * <code>false</code>; otherwise, it is assumed that the SSO entry already
+     * has sufficient information to allow reauthentication and that no update
+     * is needed.
+     *
+     * @param ssoId     identifier of Single sign to be updated
+     * @param principal the <code>Principal</code> returned by the latest
+     *                  call to <code>Realm.authenticate</code>.
+     * @param authType  the type of authenticator used (BASIC, CLIENT-CERT,
+     *                  DIGEST or FORM)
+     * @param username  the username (if any) used for the authentication
+     * @param password  the password (if any) used for the authentication
+     */
+    protected void update(String ssoId, Principal principal, String authType,
+                          String username, String password) {
+        sendSSOIdWithAuth(ssoId,
+                authType, username, password,
+                SingleSignOnMessage.UPDATE_SESSION);
+        updateLocal(ssoId, principal, authType, username, password);
+    }
+
+    protected void updateLocal(String ssoId, Principal principal, String authType,
+                          String username, String password) {
+        super.update(ssoId, principal, authType, username, password);
+    }
+
+    /**
+     * Remove a single Session from a SingleSignOn and notify the cluster
+     * of the removal. Called when a session is timed out and no longer active.
+     *
+     * @param ssoId Single sign on identifier from which to remove the session.
+     * @param session the session to be removed.
+     */
+    protected void removeSession(String ssoId, Session session) {
+        sendSSOId(ssoId,session,SingleSignOnMessage.REMOVE_SESSION) ;
+        removeSessionLocal(ssoId, session);
+    }
+
+    protected void removeSessionLocal(String ssoId, Session session) {
+        super.removeSession(ssoId, session);
+    }
+    
+    
+    /**
+     * Create SingleSignOnMessage with session informations and send to other domain members.
+     * @param ssoId     identifier of Single sign to be updated
+     * @param session   the session to be handle or null.
+     * @param action    SSO Action type
+     */
+    protected void sendSSOId(String ssoId, Session session, int action) {
+        if (cluster != null) {
+            messageNumber++;
+            String sessionId = null ;
+            if(session != null)
+                sessionId = session.getId() ;
+            SingleSignOnMessage msg =
+                new SingleSignOnMessage(cluster.getLocalMember(),
+                        ssoId, sessionId);
+            if(session != null) {
+                Manager mgr = session.getManager();
+                if ((mgr != null) && (mgr instanceof ClusterManager))
+                    msg.setContextName(((ClusterManager) mgr).getName());
+            }
+            send(msg,action);
+        }
+    }
+
+    /**
+     * Create SingleSignOnMessage with auth informations and send to other domain members.
+     * @param ssoId     identifier of Single sign to be updated
+     * @param authType  the type of authenticator used (BASIC, CLIENT-CERT,
+     *                  DIGEST or FORM)
+     * @param username  the username (if any) used for the authentication
+     * @param password  the password (if any) used for the authentication
+     * @param action    SSO Action type
+     */
+    protected void sendSSOIdWithAuth(String ssoId,String authType,
+            String username, String password, int action) {
+        if (cluster != null) {
+            messageNumber++;
+            SingleSignOnMessage msg =
+                new SingleSignOnMessage(cluster.getLocalMember(),
+                        ssoId, null);
+            msg.setAuthType(authType);
+            msg.setUsername(username);
+            msg.setPassword(password);
+            send(msg,action);
+        }
+    }
+
+    /**
+     * Send SingleSignOnMessage to other domain members.
+     * @param msg     SingleSignOnMessage
+     * @param action  SSO Action type
+     */
+    protected void send(SingleSignOnMessage msg, int action) {
+        msg.setAction(action);
+        cluster.sendClusterDomain(msg);
+        if (containerLog.isDebugEnabled())
+            containerLog.debug("SingleSignOnMessage Send with action "
+                + action);
+    }
+
+}

Added: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/ClusterSingleSignOnListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/ClusterSingleSignOnListener.java	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/ClusterSingleSignOnListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,172 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.catalina.cluster.authenticator;
+
+import java.util.Map;
+import java.io.IOException;
+
+import org.apache.catalina.Session;
+import org.apache.catalina.cluster.ClusterManager;
+import org.apache.catalina.cluster.ClusterMessage;
+import org.apache.catalina.cluster.session.ClusterListener;
+
+/**
+ * Receive replicated SingleSignOnMessage form other cluster node.
+ * 
+ * @author Fabien Carrion
+ */
+public class ClusterSingleSignOnListener extends ClusterListener {
+
+    /**
+     * The descriptive information about this implementation.
+     */
+    protected static final String info = "org.apache.catalina.cluster.authenticator.ClusterSingleSignOnListener/1.0";
+
+    // ------------------------------------------------------------- Properties
+
+    private ClusterSingleSignOn clusterSSO = null;
+
+    // --Constructor---------------------------------------------
+
+    public ClusterSingleSignOnListener() {
+    }
+
+    // --Logic---------------------------------------------------
+
+    /**
+     * Return descriptive information about this implementation.
+     */
+    public String getInfo() {
+
+        return (info);
+
+    }
+
+    public ClusterSingleSignOn getClusterSSO() {
+
+        return clusterSSO;
+
+    }
+
+    public void setClusterSSO(ClusterSingleSignOn clusterSSO) {
+
+        this.clusterSSO = clusterSSO;
+
+    }
+
+    /**
+     * Callback from the cluster, when a message is received, The cluster will
+     * broadcast it invoking the messageReceived on the receiver.
+     * 
+     * @param myobj
+     *            ClusterMessage - the message received from the cluster
+     */
+    public void messageReceived(ClusterMessage myobj) {
+        if (myobj != null && myobj instanceof SingleSignOnMessage) {
+            SingleSignOnMessage msg = (SingleSignOnMessage) myobj;
+            int action = msg.getAction();
+            Session session = null;
+
+            if (log.isDebugEnabled())
+                log.debug("SingleSignOnMessage Received with action "
+                        + msg.getAction());
+
+            switch (action) {
+            case SingleSignOnMessage.ADD_SESSION:
+                session = getSession(msg.getSessionId(), msg.getContextName());
+                if (session != null)
+                    clusterSSO.associateLocal(msg.getSsoId(), session);
+                break;
+            case SingleSignOnMessage.DEREGISTER_SESSION:
+                session = getSession(msg.getSessionId(), msg.getContextName());
+                if (session != null)
+                    clusterSSO.deregisterLocal(msg.getSsoId(), session);
+                break;
+            case SingleSignOnMessage.LOGOUT_SESSION:
+                clusterSSO.deregisterLocal(msg.getSsoId());
+                break;
+            case SingleSignOnMessage.REGISTER_SESSION:
+                clusterSSO.registerLocal(msg.getSsoId(), null, msg
+                        .getAuthType(), msg.getUsername(), msg.getPassword());
+                break;
+            case SingleSignOnMessage.UPDATE_SESSION:
+                clusterSSO.updateLocal(msg.getSsoId(), null, msg.getAuthType(),
+                        msg.getUsername(), msg.getPassword());
+                break;
+            case SingleSignOnMessage.REMOVE_SESSION:
+                session = getSession(msg.getSessionId(), msg.getContextName());
+                if (session != null)
+                    clusterSSO.removeSessionLocal(msg.getSsoId(), session);
+                break;
+            }
+        }
+    }
+
+    /**
+     * Accept only SingleSignOnMessage
+     * 
+     * @param msg
+     *            ClusterMessage
+     * @return boolean - returns true to indicate that messageReceived should be
+     *         invoked. If false is returned, the messageReceived method will
+     *         not be invoked.
+     */
+    public boolean accept(ClusterMessage msg) {
+        return (msg instanceof SingleSignOnMessage);
+    }
+
+    private Session getSession(String sessionId, String ctxname) {
+
+        Map managers = clusterSSO.getCluster().getManagers();
+        Session session = null;
+
+        if (ctxname == null) {
+            java.util.Iterator i = managers.keySet().iterator();
+            while (i.hasNext()) {
+                String key = (String) i.next();
+                ClusterManager mgr = (ClusterManager) managers.get(key);
+                if (mgr != null) {
+                    try {
+                        session = mgr.findSession(sessionId);
+                    } catch (IOException io) {
+                        log.error("Session doesn't exist:" + io);
+                    }
+                    return session;
+                } else {
+                    // this happens a lot before the system has started
+                    // up
+                    if (log.isDebugEnabled())
+                        log.debug("Context manager doesn't exist:" + key);
+                }
+            }
+        } else {
+            ClusterManager mgr = (ClusterManager) managers.get(ctxname);
+            if (mgr != null) {
+                try {
+                    session = mgr.findSession(sessionId);
+                } catch (IOException io) {
+                    log.error("Session doesn't exist:" + io);
+                }
+                return session;
+            } else {
+                log.error("Context manager doesn't exist:" + ctxname);
+            }
+        }
+        return null;
+    }
+}

Added: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/SingleSignOnMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/SingleSignOnMessage.java	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/SingleSignOnMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,237 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.catalina.cluster.authenticator;
+
+import java.io.Serializable;
+
+import org.apache.catalina.cluster.ClusterMessage;
+import org.apache.catalina.cluster.Member;
+
+/**
+ * Contains the SingleSignOn data, read and written by the ClusterSingleSignOn
+ * 
+ * @author Fabien Carrion
+ */
+
+public class SingleSignOnMessage implements ClusterMessage, Serializable {
+
+    public static final int ADD_SESSION = 1;
+
+    public static final int DEREGISTER_SESSION = 2;
+
+    public static final int LOGOUT_SESSION = 3;
+
+    public static final int REGISTER_SESSION = 4;
+
+    public static final int UPDATE_SESSION = 5;
+
+    public static final int REMOVE_SESSION = 6;
+
+    private int action = -1;
+
+    private String ssoId = null;
+
+    private String ctxname = null;
+
+    private String sessionId = null;
+
+    private String authType = null;
+
+    private String password = null;
+
+    private String username = null;
+
+    private Member address = null;
+
+    private long timestamp = 0;
+
+    private String uniqueId = null;
+
+    private int resend = ClusterMessage.FLAG_DEFAULT;
+
+    private int compress = ClusterMessage.FLAG_DEFAULT;
+
+    public SingleSignOnMessage(Member source, String ssoId, String sessionId) {
+        this.address = source;
+        this.ssoId = ssoId;
+        this.sessionId = sessionId;
+    }
+
+    /**
+     * Get the address that this message originated from. This would be set if
+     * the message was being relayed from a host other than the one that
+     * originally sent it.
+     */
+    public Member getAddress() {
+        return address;
+    }
+
+    /**
+     * Called by the cluster before sending it to the other nodes.
+     * 
+     * @param member
+     *            Member
+     */
+    public void setAddress(Member member) {
+        this.address = member;
+    }
+
+    /**
+     * Timestamp message.
+     * 
+     * @return long
+     */
+    public long getTimestamp() {
+        return timestamp;
+    }
+
+    /**
+     * Called by the cluster before sending out the message.
+     * 
+     * @param timestamp
+     *            The timestamp
+     */
+    public void setTimestamp(long timestamp) {
+        this.timestamp = timestamp;
+    }
+
+    /**
+     * Each message must have a unique ID, in case of using async replication,
+     * and a smart queue, this id is used to replace messages not yet sent.
+     * 
+     * @return String
+     */
+    public String getUniqueId() {
+        if (this.uniqueId != null)
+            return this.uniqueId;
+        StringBuffer result = new StringBuffer(getSsoId());
+        result.append("#-#");
+        result.append(System.currentTimeMillis());
+        return result.toString();
+    }
+
+    public void setUniqueId(String uniqueId) {
+        this.uniqueId = uniqueId;
+    }
+
+    public int getAction() {
+        return action;
+    }
+
+    public void setAction(int action) {
+        this.action = action;
+    }
+
+    public String getSsoId() {
+        return ssoId;
+    }
+
+    public void setSsoId(String ssoId) {
+        this.ssoId = ssoId;
+    }
+
+    public String getContextName() {
+        return ctxname;
+    }
+
+    public void setContextName(String ctxname) {
+        this.ctxname = ctxname;
+    }
+
+    public String getSessionId() {
+        return sessionId;
+    }
+
+    public void setSessionId(String sessionId) {
+        this.sessionId = sessionId;
+    }
+
+    public String getAuthType() {
+        return authType;
+    }
+
+    public void setAuthType(String authType) {
+        this.authType = authType;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    /**
+     * @return Returns the compress.
+     * @since 5.5.10
+     */
+    public int getCompress() {
+        return compress;
+    }
+
+    /**
+     * @param compress
+     *            The compress to set.
+     * @since 5.5.10
+     */
+    public void setCompress(int compress) {
+        this.compress = compress;
+    }
+
+    /**
+     * @return Returns the resend.
+     * @since 5.5.10
+     */
+    public int getResend() {
+        return resend;
+    }
+
+    /**
+     * @param resend
+     *            The resend to set.
+     * @since 5.5.10
+     */
+    public void setResend(int resend) {
+        this.resend = resend;
+    }
+
+    // --------------------------------------------------------- Public Methods
+
+    /**
+     * Return a String rendering of this object.
+     */
+    public String toString() {
+
+        StringBuffer sb = new StringBuffer("SingleSignOnMessage[action=");
+        sb.append(getAction()).append(", ssoId=").append(getSsoId());
+        sb.append(", sessionId=").append(getSessionId()).append(", username=");
+        sb.append(getUsername()).append("]");
+        return (sb.toString());
+
+    }
+
+}

Added: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/mbeans-descriptors.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/mbeans-descriptors.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator/mbeans-descriptors.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<mbeans-descriptors>
+
+  <mbean name="ClusterSingleSignOn"
+         description="A Valve that supports a 'single signon' user experience on a whole cluster"
+         domain="Catalina"
+         group="Valve"
+         type="org.apache.catalina.cluster.authenticator.ClusterSingleSignOn">
+
+    <attribute name="className"
+               description="Fully qualified class name of the managed object"
+               type="java.lang.String"
+               writeable="false"/>
+
+    <attribute name="requireReauthentication"
+               description="Should we attempt to reauthenticate each request against the security Realm?"
+               type="boolean"/>
+
+    <attribute name="cookieDomain"
+               description="(Optiona) Domain to be used by sso cookies"
+               type="java.lang.String" />
+
+  </mbean>
+
+</mbeans-descriptors>

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FarmWarDeployer.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FarmWarDeployer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FarmWarDeployer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -52,7 +53,7 @@
  * 
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 390639 $
+ * @version $Revision: 466608 $
  */
 public class FarmWarDeployer implements ClusterDeployer, FileChangeListener {
     /*--Static Variables----------------------------------------*/

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FileChangeListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FileChangeListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FileChangeListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FileMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FileMessage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FileMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FileMessageFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FileMessageFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FileMessageFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/UndeployMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/UndeployMessage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/UndeployMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/WarWatcher.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/WarWatcher.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/WarWatcher.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/ListenCallback.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/ListenCallback.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/ListenCallback.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * objects and marshalling and just passes the bytes straight through.
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 303987 $, $Date: 2005-07-08 15:50:30 -0500 (Fri, 08 Jul 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public interface ListenCallback
 {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/ObjectReader.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/ObjectReader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/ObjectReader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -32,7 +33,7 @@
  *
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 380229 $, $Date: 2006-02-23 15:28:29 -0600 (Thu, 23 Feb 2006) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class ObjectReader {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/SocketObjectReader.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/SocketObjectReader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/SocketObjectReader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -32,7 +33,7 @@
  *
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 304032 $, $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 5.5.10
  */
 public class SocketObjectReader

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/XByteBuffer.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/XByteBuffer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/io/XByteBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -37,7 +38,7 @@
  *
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 384818 $, $Date: 2006-03-10 09:29:17 -0600 (Fri, 10 Mar 2006) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class XByteBuffer
 {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
  * package.
  *
  * @author Peter Rossbach
- * @version $Revision: 303950 $ $Date: 2005-06-09 15:38:30 -0500 (Thu, 09 Jun 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Constants {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastMember.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastMember.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastMember.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  *
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 304032 $, $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class McastMember implements Member, java.io.Serializable {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastMembership.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastMembership.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastMembership.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  *
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 356540 $, $Date: 2005-12-13 10:53:40 -0600 (Tue, 13 Dec 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class McastMembership
 {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastService.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastService.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastService.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -41,7 +42,7 @@
  * 
  * @author Peter Rossbach
  * @author Filip Hanik
- * @version $Revision: 380229 $, $Date: 2006-02-23 15:28:29 -0600 (Thu, 23 Feb 2006) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -32,7 +33,7 @@
  * Need to fix this, could use java.nio and only need one thread to send and receive, or
  * just use a timeout on the receive
  * @author Filip Hanik
- * @version $Revision: 356540 $, $Date: 2005-12-13 10:53:40 -0600 (Tue, 13 Dec 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class McastServiceImpl
 {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ClusterListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ClusterListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ClusterListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * node is failed.
  * 
  * @author Peter Rossbach
- * @version $Revision: 380229 $ $Date: 2006-02-23 15:28:29 -0600 (Thu, 23 Feb 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public abstract class ClusterListener implements MessageListener {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ClusterSessionListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ClusterSessionListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ClusterSessionListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
  * Receive replicated SessionMessage form other cluster node.
  * 
  * @author Peter Rossbach
- * @version $Revision: 390627 $ $Date: 2006-04-01 03:24:34 -0600 (Sat, 01 Apr 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class ClusterSessionListener extends ClusterListener {
  

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -67,7 +68,7 @@
  * @author Craig R. McClanahan
  * @author Jean-Francois Arcand
  * @author Peter Rossbach
- * @version $Revision: 408460 $ $Date: 2006-05-21 13:26:01 -0500 (Sun, 21 May 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class DeltaManager extends ManagerBase implements Lifecycle,

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaRequest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaRequest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -43,6 +44,7 @@
 import javax.servlet.http.HttpSessionListener;
 
 import org.apache.catalina.Context;
+import org.apache.catalina.Globals;
 import org.apache.catalina.Manager;
 import org.apache.catalina.Session;
 import org.apache.catalina.SessionEvent;
@@ -72,7 +74,7 @@
  * @author Craig R. McClanahan
  * @author Sean Legassick
  * @author <a href="mailto:jon at latchkey.com">Jon S. Stevens </a>
- * @version $Revision: 399358 $ $Date: 2006-05-03 12:16:15 -0500 (Wed, 03 May 2006) $
+ * @version $Revision: 500194 $ $Date: 2007-01-26 02:17:39 -0700 (Fri, 26 Jan 2007) $
  */
 
 public class DeltaSession implements HttpSession, Session, Serializable,
@@ -252,6 +254,8 @@
      */
     protected transient int accessCount = 0;
 
+    private Object lock = new Object();
+
     // ----------------------------------------------------------- Constructors
     
     /**
@@ -408,9 +412,8 @@
                         } catch (Exception e) {
                             ;
                         }
-                        // FIXME - should we do anything besides log these?
-                        log.error(sm.getString("standardSession.sessionEvent"),
-                                t);
+                        manager.getContainer().getLogger().error
+                           (sm.getString("standardSession.sessionEvent"), t);
                     }
                 }
             }
@@ -644,12 +647,20 @@
 
         evaluateIfValid();
 
-        accessCount++;
+        if (Globals.STRICT_SERVLET_COMPLIANCE) {
+            synchronized (lock) {
+                accessCount++;
+            }
+        }
     }
 
     public void endAccess() {
         isNew = false;
-        accessCount--;
+        if (Globals.STRICT_SERVLET_COMPLIANCE) {
+            synchronized (lock) {
+                accessCount--;
+            }
+        }
         if(manager instanceof DeltaManager)
             ((DeltaManager)manager).registerSessionAtReplicationValve(this);
     }
@@ -726,15 +737,14 @@
                             } catch (Exception e) {
                                 ;
                             }
-                            // FIXME - should we do anything besides log these?
-                            log.error(sm
+                            manager.getContainer().getLogger().error(sm
                                     .getString("standardSession.sessionEvent"),
                                     t);
                         }
                     }
                 }
-            }//end if
-            //end fix
+            }
+
             accessCount = 0;
             setValid(false);
 
@@ -1254,7 +1264,8 @@
                 try {
                     ((HttpSessionBindingListener) value).valueBound(event);
                 } catch (Exception x) {
-                    log.error(smp.getString("deltaSession.valueBound.ex"), x);
+                    manager.getContainer().getLogger().error
+                        (smp.getString("deltaSession.valueBound.ex"), x);
                 }
             }
         }
@@ -1269,7 +1280,8 @@
                         .valueUnbound(new HttpSessionBindingEvent(
                                 (HttpSession) getSession(), name));
             } catch (Exception x) {
-                log.error(smp.getString("deltaSession.valueBinding.ex"), x);
+                manager.getContainer().getLogger().error
+                    (smp.getString("deltaSession.valueBinding.ex"), x);
             }
 
         }
@@ -1280,7 +1292,6 @@
 
         // Notify interested application event listeners
         Context context = (Context) manager.getContainer();
-        //fix for standalone manager without container
         if (context != null) {
             Object listeners[] = context.getApplicationEventListeners();
             if (listeners == null)
@@ -1323,16 +1334,11 @@
                     } catch (Exception e) {
                         ;
                     }
-                    // FIXME - should we do anything besides log these?
-                    log
-                            .error(
-                                    sm
-                                            .getString("standardSession.attributeEvent"),
-                                    t);
+                    manager.getContainer().getLogger().error
+                        (sm.getString("standardSession.attributeEvent"),t);
                 }
-            } //for
-        }//end if
-        //end fix
+            }
+        }
 
     }
 
@@ -1373,8 +1379,9 @@
 
         //        setId((String) stream.readObject());
         id = (String) stream.readObject();
-        if (log.isDebugEnabled())
-            log.debug(smp.getString("deltaSession.readSession",  id));
+        org.apache.commons.logging.Log managerLog = manager.getContainer().getLogger() ;
+        if (managerLog.isDebugEnabled())
+            managerLog.debug(smp.getString("deltaSession.readSession",  id));
 
         // Deserialize the attribute count and attribute values
         if (attributes == null)
@@ -1387,6 +1394,9 @@
             Object value = (Object) stream.readObject();
             if ((value instanceof String) && (value.equals(NOT_SERIALIZED)))
                 continue;
+            if (managerLog.isDebugEnabled())
+                managerLog.debug("  loading attribute '" + name +
+                    "' with value '" + value + "'");
             attributes.put(name, value);
         }
         isValid = isValidSave;
@@ -1437,8 +1447,9 @@
         }
 
         stream.writeObject(id);
-        if (log.isDebugEnabled())
-            log.debug(smp.getString("deltaSession.writeSession",id));
+        org.apache.commons.logging.Log managerLog = manager.getContainer().getLogger() ;
+        if (managerLog.isDebugEnabled())
+            managerLog.debug(smp.getString("deltaSession.writeSession",id));
 
         // Accumulate the names of serializable and non-serializable attributes
         String keys[] = keys();
@@ -1462,15 +1473,18 @@
             stream.writeObject((String) saveNames.get(i));
             try {
                 stream.writeObject(saveValues.get(i));
-                //                if (log.isDebugEnabled())
-                //                    log.debug(" storing attribute '" + saveNames.get(i) +
-                //                        "' with value '" + saveValues.get(i) + "'");
+                if (managerLog.isDebugEnabled()) {
+                    managerLog.debug(" storing attribute '" + saveNames.get(i) +
+                        "' with value '" + saveValues.get(i) + "'");
+                }
             } catch (NotSerializableException e) {
-                log.error(sm.getString("standardSession.notSerializable",
+                managerLog.warn(sm.getString("standardSession.notSerializable",
                         saveNames.get(i), id), e);
                 stream.writeObject(NOT_SERIALIZED);
-                log.error("  storing attribute '" + saveNames.get(i)
+                if(managerLog.isDebugEnabled()) {
+                    managerLog.debug("  storing attribute '" + saveNames.get(i)
                         + "' with value NOT_SERIALIZED");
+                }
             }
         }
 
@@ -1588,12 +1602,12 @@
             try {
                 ((HttpSessionBindingListener) value).valueUnbound(event);
             } catch (Exception x) {
-                log.error(smp.getString("deltaSession.valueUnbound.ex"), x);
+                manager.getContainer().getLogger().error
+                    (smp.getString("deltaSession.valueUnbound.ex"), x);
             }
         }
         // Notify interested application event listeners
         Context context = (Context) manager.getContainer();
-        //fix for standalone manager without container
         if (context != null) {
             Object listeners[] = context.getApplicationEventListeners();
             if (listeners == null)
@@ -1619,16 +1633,11 @@
                     } catch (Exception e) {
                         ;
                     }
-                    // FIXME - should we do anything besides log these?
-                    log
-                            .error(
-                                    sm
-                                            .getString("standardSession.attributeEvent"),
-                                    t);
+                    manager.getContainer().getLogger().error
+                        (sm.getString("standardSession.attributeEvent"),t);
                 }
-            } //for
-        }//end if
-        //end fix
+            }
+        }
 
     }
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSessionFacade.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSessionFacade.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSessionFacade.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  *
  * @author Remy Maucherat
  * @author Filip Hanik
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class DeltaSessionFacade

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteBinderValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteBinderValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteBinderValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -80,7 +81,7 @@
  * This use case means that only requested session are migrated.
  * 
  * @author Peter Rossbach
- * @version $Revision: 393256 $ $Date: 2006-04-11 11:20:28 -0500 (Tue, 11 Apr 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class JvmRouteBinderValve extends ValveBase implements ClusterValve, Lifecycle {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderLifecycleListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderLifecycleListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  * node is failed.
  * 
  * @author Peter Rossbach
- * @version $Revision: 380229 $ $Date: 2006-02-23 15:28:29 -0600 (Thu, 23 Feb 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class JvmRouteSessionIDBinderListener extends ClusterListener {
  

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ReplicatedSession.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ReplicatedSession.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ReplicatedSession.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  *
  * Copyright:    See apache license
  * @author  Filip Hanik
- * @version $Revision: 303842 $ $Date: 2005-04-10 11:20:46 -0500 (Sun, 10 Apr 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * Description:<BR>
  * The ReplicatedSession class is a simple extension of the StandardSession class
  * It overrides a few methods (setAttribute, removeAttribute, expire, access) and has

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ReplicationStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ReplicationStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ReplicationStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  *
  * @author Craig R. McClanahan
  * @author Bip Thelin
- * @version $Revision: 380229 $, $Date: 2006-02-23 15:28:29 -0600 (Thu, 23 Feb 2006) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class ReplicationStream extends ObjectInputStream {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SerializablePrincipal.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SerializablePrincipal.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SerializablePrincipal.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * The GenericPrincipal does NOT implement serializable and I didn't want to change that implementation
  * hence I implemented this one instead.
  * @author Filip Hanik
- * @version $Revision: 303587 $ $Date: 2004-12-09 08:36:43 -0600 (Thu, 09 Dec 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 import org.apache.catalina.realm.GenericPrincipal;
 public class SerializablePrincipal  implements java.io.Serializable {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionIDMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionIDMessage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionIDMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
  * 
  * @author Peter Rossbach
  * 
- * @version $Revision: 326110 $ $Date: 2005-10-18 09:08:36 -0500 (Tue, 18 Oct 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class SessionIDMessage implements ClusterMessage {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionMessage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionMessageImpl.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionMessageImpl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionMessageImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
  * @author Filip Hanik
  * @author Peter Rossbach
  * 
- * @version $Revision: 326110 $ $Date: 2005-10-18 09:08:36 -0500 (Tue, 18 Oct 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class SessionMessageImpl implements SessionMessage, java.io.Serializable {
     

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SimpleTcpReplicationManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SimpleTcpReplicationManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SimpleTcpReplicationManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/AsyncSocketSender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/AsyncSocketSender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/AsyncSocketSender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -36,7 +36,7 @@
  * 
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 366253 $ $Date: 2006-01-05 13:30:42 -0600 (Thu, 05 Jan 2006) $
+ * @version $Revision: 366253 $ $Date: 2006-01-05 12:30:42 -0700 (Thu, 05 Jan 2006) $
  */
 public class AsyncSocketSender extends DataSender {
     

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterData.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterData.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterData.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,7 +21,7 @@
 
 /**
  * @author Peter Rossbach
- * @version $Revision: 380229 $ $Date: 2006-02-23 15:28:29 -0600 (Thu, 23 Feb 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 5.5.10
  */
 public class ClusterData {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -38,7 +39,7 @@
 /**
 * FIXME i18n log messages
 * @author Peter Rossbach
-* @version $Revision: 418134 $ $Date: 2006-06-29 15:54:33 -0500 (Thu, 29 Jun 2006) $
+* @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
 */
 
 public abstract class ClusterReceiverBase implements Runnable, ClusterReceiver,ListenCallback {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
  * package.
  *
  * @author Peter Rossbach
- * @version $Revision: 303753 $ $Date: 2005-03-14 15:24:30 -0600 (Mon, 14 Mar 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Constants {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -32,7 +32,7 @@
  * 
  * @author Peter Rossbach
  * @author Filip Hanik
- * @version $Revision: 418134 $ $Date: 2006-06-29 15:54:33 -0500 (Thu, 29 Jun 2006) $
+ * @version $Revision: 418134 $ $Date: 2006-06-29 14:54:33 -0600 (Thu, 29 Jun 2006) $
  * @since 5.5.7
  */
 public class DataSender implements IDataSender {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/FastAsyncSocketSender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/FastAsyncSocketSender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/FastAsyncSocketSender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -41,7 +41,7 @@
  * </ul>
  * FIXME: refactor code duplications with AsyncSocketSender => configurable or extract super class 
  * @author Peter Rossbach ( idea comes form Rainer Jung)
- * @version $Revision: 366253 $ $Date: 2006-01-05 13:30:42 -0600 (Thu, 05 Jan 2006) $
+ * @version $Revision: 465902 $ $Date: 2006-10-19 15:37:51 -0600 (Thu, 19 Oct 2006) $
  * @since 5.5.9
  */
 public class FastAsyncSocketSender extends DataSender {
@@ -54,7 +54,7 @@
     /**
      * The descriptive information about this implementation.
      */
-    private static final String info = "FastAsyncSocketSender/3.0";
+    private static final String info = "FastAsyncSocketSender/3.1";
 
     // ----------------------------------------------------- Instance Variables
 
@@ -69,6 +69,16 @@
     private FastQueueThread queueThread = null;
 
     /**
+     * recover timeout ( default 5 secs)
+     */
+    private long recoverTimeout = 5000;
+    
+    /**
+     * number of recover tries
+     */
+    private int recoverCounter = 0;
+
+    /**
      * Count number of queue message
      */
     private long inQueueCounter = 0;
@@ -229,6 +239,40 @@
     }
 
     /**
+     * get current push message recover timeout 
+     * @return current push message recover timeout
+     */
+    public long getRecoverTimeout() {
+        
+        return recoverTimeout;
+    }
+
+    /**
+     * Set recover timeout (default 5000 msec)
+     * @param timeout
+     */
+    public void setRecoverTimeout(long timeout) {
+        recoverTimeout = timeout;
+    }
+
+    /**
+     * get current push message recover counter 
+     * @return current push message recover counter
+     */
+    public int getRecoverCounter() {
+        
+        return recoverCounter;
+    }
+
+    /**
+     * Set recover couner (default 5 )
+     * @param counter
+     */
+    public void setRecoverCounter(int counter) {
+        recoverCounter = counter;
+    }
+
+    /**
      * change active the queue Thread priority 
      * @param threadPriority value must be between MIN and MAX Thread Priority
      * @exception IllegalArgumentException
@@ -465,25 +509,62 @@
         }
 
         /**
-         * @param entry
+         * Push all messages from queue to other nodes. Is revovery configured
+         * make a resends with some waits.
+         * @param entry list of messages
          */
         protected void pushQueuedMessages(LinkObject entry) {
             do {
                 int messagesize = 0;
+                ClusterData data = null ;
                 try {
-                    ClusterData data = (ClusterData) entry.data();
+                    data = (ClusterData) entry.data();
                     messagesize = data.getMessage().length;
                     sender.pushMessage(data);
                 } catch (Exception x) {
-                    log.warn(sm.getString(
-                            "AsyncSocketSender.send.error", entry
+                    long rTimeout = sender.getRecoverTimeout() ;
+                    int rCounter = sender.getRecoverCounter() ;
+                    if(data != null && 
+                       rTimeout > 0 && 
+                       rCounter > 0) {
+                        // wait that network get stabler
+                        int counter = 1;
+                        boolean success = false ;
+                        do {
+                            try {
+                                Thread.sleep(rTimeout*counter);
+                            } catch (Exception sleep) {
+                            }
+                            try {
+                                if(log.isDebugEnabled()) {
+                                    log.debug(sm.getString("AsyncSocketSender.send.recover",
+                                            entry.getKey(),
+                                            new Integer(counter), 
+                                            new Integer(rCounter), new Long(rTimeout))) ;
+                                }
+                                sender.pushMessage(data);
+                                success = true;
+                            } catch (Exception xx) {
+                              counter++; 
+                            }
+                        } while (keepRunning && !success && counter <= rCounter);
+                        
+                        if(!success) {
+                            log.warn(sm.getString(
+                                    "AsyncSocketSender.send.error", entry
                                     .getKey()), x);
-                } finally {
+                        }
+                    } else {
+                        log.warn(sm.getString(
+                                "AsyncSocketSender.send.error", entry
+                                .getKey()), x);
+                    }
+               } finally {
                     outQueueCounter++;
                     decQueuedNrOfBytes(messagesize);
                 }
                 entry = entry.next();
-            } while (entry != null);
+            } while (keepRunning && entry != null);
         }
 
     }

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/IDataSender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/IDataSender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/IDataSender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,7 @@
 
 /**
  * @author Peter Rossbach
- * @version $Revision: 303993 $ $Date: 2005-07-16 16:05:54 -0500 (Sat, 16 Jul 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 5.5.7
  */
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/IDataSenderFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/IDataSenderFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/IDataSenderFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  * <code>org/apache/catalina/cluster/tcp/DataSenders.properties</code> resource.
  * 
  * @author Peter Rossbach
- * @version $Revision: 304032 $ $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 5.5.7
  */
 public class IDataSenderFactory {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/LocalStrings.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/LocalStrings.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -2,6 +2,7 @@
 AsyncSocketSender.queue.message=Queue message to [{0}:{1,number,integer}] id=[{2}] size={3}
 AsyncSocketSender.send.error=Unable to asynchronously send session with id=[{0}] - message will be ignored.
 AsyncSocketSender.queue.empty=Queue in sender [{0}:{1,number,integer}] returned null element!
+AsyncSocketSender.send.recover=Recover queued message id=[{0}] after failure and send again ( current counter={1,number,integer}, max counter={2,number,integer}, timeout={3,number,long}) 
 cluster.mbean.register.already=MBean {0} already registered!
 FastAsyncSocketSender.setThreadPriority=[{0}:{1,number,integer}] set priority to {2}
 FastAsyncSocketSender.min.exception=[{0}:{1,number,integer}] new priority {2} < MIN_PRIORITY

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/PooledSocketSender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/PooledSocketSender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/PooledSocketSender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -33,7 +34,7 @@
 * FIXME jmx support
 * @author Peter Rossbach
 * @author Filip Hanik
-* @version $Revision: 380229 $ $Date: 2006-02-23 15:28:29 -0600 (Thu, 23 Feb 2006) $
+* @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
 */
 public class ReplicationListener extends ClusterReceiverBase
 {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -46,7 +46,7 @@
  * 
  * @author Peter Rossbach
  * @author Filip Hanik
- * @version $Revision: 418134 $ $Date: 2006-06-29 15:54:33 -0500 (Thu, 29 Jun 2006) $
+ * @version $Revision: 418134 $ $Date: 2006-06-29 14:54:33 -0600 (Thu, 29 Jun 2006) $
  */
 public class ReplicationTransmitter implements ClusterSender,IDynamicProperty {
     private static org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -56,7 +57,7 @@
  * @author Craig R. McClanahan
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 386118 $ $Date: 2006-03-15 11:20:34 -0600 (Wed, 15 Mar 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ReplicationValve

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SendMessageData.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SendMessageData.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SendMessageData.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -20,7 +20,7 @@
 
 /**
  * @author Peter Rossbach
- * @version $Revision: 303987 $ $Date: 2005-07-08 15:50:30 -0500 (Fri, 08 Jul 2005) $
+ * @version $Revision: 303987 $ $Date: 2005-07-08 14:50:30 -0600 (Fri, 08 Jul 2005) $
  */
 public class SendMessageData {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SenderState.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SenderState.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SenderState.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -76,7 +77,7 @@
  * @author Filip Hanik
  * @author Remy Maucherat
  * @author Peter Rossbach
- * @version $Revision: 412798 $, $Date: 2006-06-08 11:57:24 -0500 (Thu, 08 Jun 2006) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class SimpleTcpCluster implements CatalinaCluster, Lifecycle,
         MembershipListener, LifecycleListener, IDynamicProperty {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
 
 /**
  * @author Peter Rossbach
- * @version $Revision: 304032 $, $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class SocketReplicationListener extends ClusterReceiverBase {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationThread.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationThread.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationThread.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  * @author Peter Rossbach
  * FIXME ThreadPooling
  * FIXME Socket timeout
- * @version $Revision: 345232 $, $Date: 2005-11-17 05:58:42 -0600 (Thu, 17 Nov 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class SocketReplicationThread extends Thread implements ListenCallback {
     private static org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketSender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketSender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketSender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/TcpReplicationThread.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/TcpReplicationThread.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/TcpReplicationThread.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -34,7 +35,7 @@
  * 
  * @author Filip Hanik
  * 
- * @version $Revision: 390625 $, $Date: 2006-04-01 03:23:46 -0600 (Sat, 01 Apr 2006) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class TcpReplicationThread extends WorkerThread {
     public static final byte[] ACK_COMMAND = new byte[] {6, 2, 3};

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ThreadPool.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ThreadPool.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ThreadPool.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/WorkerThread.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/WorkerThread.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/WorkerThread.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
 
 /**
  * @author Filip Hanik
- * @version $Revision: 366253 $ $Date: 2006-01-05 13:30:42 -0600 (Thu, 05 Jan 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class WorkerThread extends Thread
 {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -620,6 +620,12 @@
           description="after send failure make a resend"
 			     is="true"
                  type="boolean" />
+    <attribute   name="recoverTimeout"
+          description="recover Timeout after push message failure (default 5000 msec)"
+                 type="long" />
+    <attribute   name="recoverCounter"
+          description="number of recover tries (default 0 - means off)"
+                 type="int" />
     <attribute   name="connected"
                  is="true"
           description="socket connected"

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/FastQueue.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/FastQueue.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/FastQueue.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
  * FIXME add i18n support to log messages
  * @author Rainer Jung
  * @author Peter Rossbach
- * @version $Revision: 418134 $ $Date: 2006-06-29 15:54:33 -0500 (Thu, 29 Jun 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 public class FastQueue implements IQueue {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/IDynamicProperty.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/IDynamicProperty.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/IDynamicProperty.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,7 +21,7 @@
 
 /**
  * @author Peter Rossbach
- * @version $Revision: 304032 $, $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface IDynamicProperty {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/IQueue.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/IQueue.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/IQueue.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -21,7 +22,7 @@
  *
  * @author Rainer Jung
  * @author Peter Rossbach
- * @version $Revision: 303753 $ $Date: 2005-03-14 15:24:30 -0600 (Mon, 14 Mar 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public interface IQueue {

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/LinkObject.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/LinkObject.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/LinkObject.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
  *
  * @author Rainer Jung
  * @author Peter Rossbach
- * @version $Revision: 304032 $ $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
 
  */
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/SingleRemoveSynchronizedAddLock.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/SingleRemoveSynchronizedAddLock.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/SingleRemoveSynchronizedAddLock.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/SmartQueue.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/SmartQueue.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/util/SmartQueue.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/io/XByteBufferTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/io/XByteBufferTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/io/XByteBufferTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
 /**
  * @author Peter Rossbach
  * 
- * @version $Revision: 384818 $ $Date: 2006-03-10 09:29:17 -0600 (Fri, 10 Mar 2006) $
+ * @version $Revision: 384818 $ $Date: 2006-03-10 08:29:17 -0700 (Fri, 10 Mar 2006) $
  */
 public class XByteBufferTest extends TestCase {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/session/DeltaManagerTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/session/DeltaManagerTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/session/DeltaManagerTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -30,7 +30,7 @@
 /**
  * @author Peter Rossbach
  * 
- * @version $Revision: 303950 $ $Date: 2005-06-09 15:38:30 -0500 (Thu, 09 Jun 2005) $
+ * @version $Revision: 303950 $ $Date: 2005-06-09 14:38:30 -0600 (Thu, 09 Jun 2005) $
  */
 public class DeltaManagerTest extends TestCase {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/session/DeltaSessionTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/session/DeltaSessionTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/session/DeltaSessionTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -22,7 +22,7 @@
 /**
  * @author Peter Rossbach
  * 
- * @version $Revision: 384817 $ $Date: 2006-03-10 09:27:43 -0600 (Fri, 10 Mar 2006) $
+ * @version $Revision: 384817 $ $Date: 2006-03-10 08:27:43 -0700 (Fri, 10 Mar 2006) $
  */
 public class DeltaSessionTest extends TestCase {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/DataSenderTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/DataSenderTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/DataSenderTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -32,7 +32,7 @@
 /**
  * @author Peter Rossbach
  * 
- * @version $Revision: 366254 $ $Date: 2006-01-05 13:32:21 -0600 (Thu, 05 Jan 2006) $
+ * @version $Revision: 366254 $ $Date: 2006-01-05 12:32:21 -0700 (Thu, 05 Jan 2006) $
  */
 public class DataSenderTest extends TestCase {
     

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitterTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitterTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitterTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
 /**
  * @author Peter Rossbach
  * 
- * @version $Revision: 303962 $ $Date: 2005-06-26 16:21:50 -0500 (Sun, 26 Jun 2005) $
+ * @version $Revision: 303962 $ $Date: 2005-06-26 15:21:50 -0600 (Sun, 26 Jun 2005) $
  */
 public class ReplicationTransmitterTest extends TestCase {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationValveTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationValveTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationValveTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -20,7 +20,7 @@
 /**
  * @author Peter Rossbach
  * 
- * @version $Revision: 303832 $ $Date: 2005-04-03 11:03:01 -0500 (Sun, 03 Apr 2005) $
+ * @version $Revision: 303832 $ $Date: 2005-04-03 10:03:01 -0600 (Sun, 03 Apr 2005) $
  */
 public class ReplicationValveTest extends TestCase {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/SimpleTcpClusterTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/SimpleTcpClusterTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/SimpleTcpClusterTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
 
 /*
 * @author Peter Rossbach
-* @version $Revision: 303864 $ $Date: 2005-04-18 13:55:38 -0500 (Mon, 18 Apr 2005) $
+* @version $Revision: 303864 $ $Date: 2005-04-18 12:55:38 -0600 (Mon, 18 Apr 2005) $
 */
 public class SimpleTcpClusterTest extends TestCase {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/doc/tomcat-docs.xsl
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/doc/tomcat-docs.xsl	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/doc/tomcat-docs.xsl	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!-- Content Stylesheet for "tomcat-docs" Documentation -->
 
-<!-- $Id: tomcat-docs.xsl 377243 2006-02-12 21:26:03Z markt $ -->
+<!-- $Id: tomcat-docs.xsl 467206 2006-10-24 02:45:46Z markt $ -->
 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   version="1.0">

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ByteMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ByteMessage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ByteMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -36,7 +37,7 @@
  * so that you can decide with the <code>ChannelListener.accept()</code> whether this message was intended
  * for you.
  * @author Filip Hanik
- * @version $Revision: 304032 $, $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public class ByteMessage implements Serializable, Externalizable {

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Channel.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Channel.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Channel.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -65,7 +66,7 @@
  * 
  * For example usage @see org.apache.catalina.tribes.group.GroupChannel
  * @author Filip Hanik
- * @version $Revision: 304032 $, $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public interface Channel {
     

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelException.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelException.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelException.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * the application can retrieve what recipients failed by using the <code>getFaultyMembers()</code>
  * method. This way, an application will always know if a message was delivered successfully or not.
  * @author Filip Hanik
- * @version $Revision: 304032 $, $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public class ChannelException extends Exception {

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelInterceptor.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelInterceptor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelInterceptor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
  * Interceptors are tied together in a linked list.
  * @see org.apache.catalina.tribes.group.ChannelInterceptorBase
  * @author Filip Hanik
- * @version $Revision: 304032 $, $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */   
 
 public interface ChannelInterceptor extends MembershipListener, Heartbeat {

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelMessage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelReceiver.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelReceiver.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelReceiver.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
  * at the bottom layer, the IO layer (for layers see the javadoc for the {@link Channel} interface).
  * This class may optionally implement a thread pool for parallel processing of incoming messages.
  * @author Filip Hanik
- * @version $Revision: 379904 $, $Date: 2006-02-22 15:16:25 -0600 (Wed, 22 Feb 2006) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public interface ChannelReceiver extends Heartbeat {
     /**

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelSender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelSender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelSender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * The channel sender must support "silent" members, ie, be able to send a message to a member
  * that is not in the membership, but is part of the destination parameter
  * @author Filip Hanik
- * @version $Revision: 379904 $, $Date: 2006-02-22 15:16:25 -0600 (Wed, 22 Feb 2006) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public interface ChannelSender extends Heartbeat
 {

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
  *
  * @author Bip Thelin
  * @author Filip Hanik
- * @version $Revision: 302726 $, $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public final class Constants {

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ErrorHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ErrorHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ErrorHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Heartbeat.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Heartbeat.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Heartbeat.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ManagedChannel.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ManagedChannel.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/ManagedChannel.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
  * A managed channel interface gives you access to the components of the channels
  * such as senders, receivers, interceptors etc for configurations purposes
  * @author Filip Hanik
- * @version $Revision: 304032 $, $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public interface ManagedChannel extends Channel {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Member.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Member.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/Member.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * since a member that has crashed and the starts up again on the same port/host is 
  * not guaranteed to be the same member, so no state transfers will ever be confused
  * @author Filip Hanik
- * @version $Revision: 303950 $, $Date: 2005-06-09 15:38:30 -0500 (Thu, 09 Jun 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/MembershipListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/MembershipListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/MembershipListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
  * when a member has joined the group and when a member has disappeared (crashed)
  *
  * @author Filip Hanik
- * @version $Revision: 302726 $, $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/MembershipService.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/MembershipService.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/MembershipService.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
  * The <code>MembershipService</code> interface is the membership component 
  * at the bottom layer, the IO layer (for layers see the javadoc for the {@link Channel} interface).<br>
  * @author Filip Hanik
- * @version $Revision: 378093 $, $Date: 2006-02-15 15:13:45 -0600 (Wed, 15 Feb 2006) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/MessageListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/MessageListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/MessageListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/UniqueId.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/UniqueId.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/UniqueId.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelCoordinator.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelCoordinator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelCoordinator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -38,7 +39,7 @@
  * the sender and the receiver.
  * This is the last interceptor in the chain.
  * @author Filip Hanik
- * @version $Revision: 304032 $, $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class ChannelCoordinator extends ChannelInterceptorBase implements MessageListener {
     private ChannelReceiver clusterReceiver = new NioReceiver();

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelInterceptorBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelInterceptorBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelInterceptorBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
 /**
  * Abstract class for the interceptor base class.
  * @author Filip Hanik
- * @version $Revision: 304032 $, $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public abstract class ChannelInterceptorBase implements ChannelInterceptor {

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/GroupChannel.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/GroupChannel.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/GroupChannel.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -51,7 +52,7 @@
  * The channel has an chain of interceptors that can modify the message or perform other logic.<br>
  * It manages a complete group, both membership and replication.
  * @author Filip Hanik
- * @version $Revision: 304032 $, $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class GroupChannel extends ChannelInterceptorBase implements ManagedChannel {
     /**

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/InterceptorPayload.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/InterceptorPayload.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/InterceptorPayload.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/Response.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/Response.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/Response.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcCallback.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcCallback.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcCallback.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcChannel.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcChannel.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcChannel.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcMessage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/FragmentationInterceptor.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/FragmentationInterceptor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/FragmentationInterceptor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/GzipInterceptor.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/GzipInterceptor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/GzipInterceptor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/MessageDispatch15Interceptor.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/MessageDispatch15Interceptor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/MessageDispatch15Interceptor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/MessageDispatchInterceptor.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/MessageDispatchInterceptor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/MessageDispatchInterceptor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool14Impl.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool14Impl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool14Impl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool15Impl.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool15Impl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool15Impl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ChannelData.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ChannelData.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ChannelData.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  * interceptors, the message data can be manipulated as each interceptor seems appropriate.
  * @author Peter Rossbach
  * @author Filip Hanik
- * @version $Revision: 377484 $ $Date: 2006-02-13 15:00:05 -0600 (Mon, 13 Feb 2006) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  * 
  */
 public class ChannelData implements ChannelMessage {

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/DirectByteArrayOutputStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/DirectByteArrayOutputStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/DirectByteArrayOutputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ListenCallback.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ListenCallback.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ListenCallback.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  * when data has been received. The interface does not care about
  * objects and marshalling and just passes the bytes straight through.
  * @author Filip Hanik
- * @version $Revision: 303987 $, $Date: 2005-07-08 15:50:30 -0500 (Fri, 08 Jul 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public interface ListenCallback
 {

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -32,7 +33,7 @@
  * for message encoding and decoding.
  *
  * @author Filip Hanik
- * @version $Revision: 377484 $, $Date: 2006-02-13 15:00:05 -0600 (Mon, 13 Feb 2006) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class ObjectReader {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ReplicationStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ReplicationStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ReplicationStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  * @author Craig R. McClanahan
  * @author Bip Thelin
  * @author Filip Hanik
- * @version $Revision: 377484 $, $Date: 2006-02-13 15:00:05 -0600 (Mon, 13 Feb 2006) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public final class ReplicationStream extends ObjectInputStream {

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/XByteBuffer.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/XByteBuffer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/XByteBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -41,7 +42,7 @@
  * <li><b>END_DATA</b>  - 7 bytes - <i>TLF2003</i></lI>
  * </ul>
  * @author Filip Hanik
- * @version $Revision: 377484 $, $Date: 2006-02-13 15:00:05 -0600 (Mon, 13 Feb 2006) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class XByteBuffer
 {

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
  * package.
  *
  * @author Peter Rossbach
- * @version $Revision: 303950 $ $Date: 2005-06-09 15:38:30 -0500 (Thu, 09 Jun 2005) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  * @author Filip Hanik
  */
 

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastService.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastService.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastService.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -32,7 +33,7 @@
  * If a node fails to send out a heartbeat, the node will be dismissed.
  *
  * @author Filip Hanik
- * @version $Revision: 378093 $, $Date: 2006-02-15 15:13:45 -0600 (Wed, 15 Feb 2006) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastServiceImpl.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastServiceImpl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastServiceImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -38,7 +39,7 @@
  * Need to fix this, could use java.nio and only need one thread to send and receive, or
  * just use a timeout on the receive
  * @author Filip Hanik
- * @version $Revision: 356540 $, $Date: 2005-12-13 10:53:40 -0600 (Tue, 13 Dec 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class McastServiceImpl
 {

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/MemberImpl.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/MemberImpl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/MemberImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  * Carries the host, and port of the this or other cluster nodes.
  *
  * @author Filip Hanik
- * @version $Revision: 304032 $, $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class MemberImpl implements Member, java.io.Externalizable {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -34,7 +35,7 @@
  *
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 356540 $, $Date: 2005-12-13 10:53:40 -0600 (Tue, 13 Dec 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class Membership
 {

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/ReplicatedMap.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/ReplicatedMap.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/ReplicatedMap.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/ReplicatedMapEntry.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/ReplicatedMapEntry.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/ReplicatedMapEntry.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/Streamable.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/Streamable.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/Streamable.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * package.
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 303753 $ $Date: 2005-03-14 15:24:30 -0600 (Mon, 14 Mar 2005) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public class Constants {

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/DataSender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/DataSender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/DataSender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/MultiPointSender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/MultiPointSender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/MultiPointSender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -21,7 +22,7 @@
 
 /**
  * @author Filip Hanik
- * @version $Revision: 303993 $ $Date: 2005-07-16 16:05:54 -0500 (Sat, 16 Jul 2005) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  * @since 5.5.16
  */
 

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/PooledSender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/PooledSender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/PooledSender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ReplicationTransmitter.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ReplicationTransmitter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ReplicationTransmitter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -29,7 +29,7 @@
  * type 
  * 
  * @author Filip Hanik
- * @version $Revision: 379956 $ $Date: 2006-02-22 16:57:35 -0600 (Wed, 22 Feb 2006) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class ReplicationTransmitter implements ChannelSender {
     private static org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(ReplicationTransmitter.class);

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/SenderState.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/SenderState.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/SenderState.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ThreadPool.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ThreadPool.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ThreadPool.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/WorkerThread.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/WorkerThread.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/WorkerThread.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
 
 /**
  * @author Filip Hanik
- * @version $Revision: 366253 $ $Date: 2006-01-05 13:30:42 -0600 (Thu, 05 Jan 2006) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public abstract class WorkerThread extends Thread 
 {

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioReplicationThread.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioReplicationThread.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioReplicationThread.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -41,7 +42,7 @@
  * 
  * @author Filip Hanik
  * 
- * @version $Revision: 378050 $, $Date: 2006-02-15 12:30:02 -0600 (Wed, 15 Feb 2006) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class BioReplicationThread extends WorkerThread {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioSender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioSender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioSender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -39,7 +39,7 @@
  * 
  * @author Peter Rossbach
  * @author Filip Hanik
- * @version $Revision: 377484 $ $Date: 2006-02-13 15:00:05 -0600 (Mon, 13 Feb 2006) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  * @since 5.5.16
  */
 public class BioSender extends AbstractSender implements DataSender {

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/FastQueue.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/FastQueue.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/FastQueue.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  * FIXME add i18n support to log messages
  * @author Rainer Jung
  * @author Peter Rossbach
- * @version $Revision: 345567 $ $Date: 2005-11-18 15:07:23 -0600 (Fri, 18 Nov 2005) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class FastQueue {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/LinkObject.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/LinkObject.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/LinkObject.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * @author Rainer Jung
  * @author Peter Rossbach
  * @author Filip Hanik
- * @version $Revision: 304032 $ $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
 
  */
 

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/SingleRemoveSynchronizedAddLock.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/SingleRemoveSynchronizedAddLock.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/SingleRemoveSynchronizedAddLock.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -39,7 +40,7 @@
 
 /**
  * @author Filip Hanik
- * @version $Revision: 379904 $ $Date: 2006-02-22 15:16:25 -0600 (Wed, 22 Feb 2006) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class NioReceiver extends ReceiverBase implements Runnable, ChannelReceiver, ListenCallback {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReplicationThread.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReplicationThread.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReplicationThread.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -44,7 +45,7 @@
  * 
  * @author Filip Hanik
  * 
- * @version $Revision: 378050 $, $Date: 2006-02-15 12:30:02 -0600 (Wed, 15 Feb 2006) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class NioReplicationThread extends WorkerThread {
     

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/Arrays.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/Arrays.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/Arrays.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/Logs.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/Logs.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/Logs.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/StringManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/StringManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/StringManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/UUIDGenerator.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/UUIDGenerator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/UUIDGenerator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/ChannelCreator.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/ChannelCreator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/ChannelCreator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/IntrospectionUtils.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/IntrospectionUtils.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/IntrospectionUtils.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/LoadTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/LoadTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/LoadTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/test/channel/ChannelStartStop.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/test/channel/ChannelStartStop.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/test/channel/ChannelStartStop.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/test/interceptors/TestTwoPhaseCommit.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/test/interceptors/TestTwoPhaseCommit.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/test/interceptors/TestTwoPhaseCommit.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/test/membership/MemberSerialization.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/test/membership/MemberSerialization.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/groupcom/test/java/org/apache/catalina/tribes/test/membership/MemberSerialization.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/CatalinaCluster.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/CatalinaCluster.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/CatalinaCluster.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -33,7 +34,7 @@
  * different cluster implementations
  *
  * @author Filip Hanik
- * @version $Revision: 379550 $, $Date: 2006-02-21 12:06:35 -0600 (Tue, 21 Feb 2006) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public interface CatalinaCluster extends Cluster {

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterDeployer.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterDeployer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterDeployer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -21,7 +22,7 @@
  * different deployment implementations
  *
  * @author Filip Hanik
- * @version $Revision: 378050 $, $Date: 2006-02-15 12:30:02 -0600 (Wed, 15 Feb 2006) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 import org.apache.catalina.LifecycleException;
 import java.io.IOException;

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -32,7 +33,7 @@
  * 
  * @author Peter Rossbach
  * @author Filip Hanik
- * @version $Revision: 378258 $ $Date: 2006-02-16 08:42:35 -0600 (Thu, 16 Feb 2006) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public abstract class ClusterListener implements ChannelListener {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterMessage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterRuleSet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterRuleSet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  *
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 387285 $ $Date: 2006-03-20 13:30:50 -0600 (Mon, 20 Mar 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ClusterRuleSet extends RuleSetBase {

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterSession.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterSession.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterSession.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/ClusterValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,7 +20,7 @@
  * Cluster Valve Interface to mark all Cluster Valves 
  * Only those Valve can'be configured as Cluster Valves
  * @author Peter Rossbach
- * @version $Revision: 303842 $, $Date: 2005-04-10 11:20:46 -0500 (Sun, 10 Apr 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public interface ClusterValve {
     /**

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
  * package.
  *
  * @author Bip Thelin
- * @version $Revision: 302726 $, $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public final class Constants {

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/context/ReplicatedContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/context/ReplicatedContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/context/ReplicatedContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FarmWarDeployer.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FarmWarDeployer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FarmWarDeployer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -52,7 +53,7 @@
  * 
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 390639 $
+ * @version $Revision: 467206 $
  */
 public class FarmWarDeployer extends ClusterListener implements ClusterDeployer, FileChangeListener {
     /*--Static Variables----------------------------------------*/

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FileChangeListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FileChangeListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FileChangeListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FileMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FileMessage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FileMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FileMessageFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FileMessageFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FileMessageFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/UndeployMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/UndeployMessage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/UndeployMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/WarWatcher.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/WarWatcher.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/deploy/WarWatcher.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/BackupManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/BackupManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/BackupManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/ClusterManagerBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/ClusterManagerBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/ClusterManagerBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
 /**
  * 
  * @author Filip Hanik
- * @version $Revision: 380100 $ $Date: 2006-02-23 06:08:14 -0600 (Thu, 23 Feb 2006) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public abstract class ClusterManagerBase extends ManagerBase implements Lifecycle, PropertyChangeListener, ClusterManager{

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/ClusterSessionListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/ClusterSessionListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/ClusterSessionListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * Receive replicated SessionMessage form other cluster node.
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 378258 $ $Date: 2006-02-16 08:42:35 -0600 (Thu, 16 Feb 2006) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class ClusterSessionListener extends ClusterListener {
  

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -60,7 +61,7 @@
  * @author Craig R. McClanahan
  * @author Jean-Francois Arcand
  * @author Peter Rossbach
- * @version $Revision: 380100 $ $Date: 2006-02-23 06:08:14 -0600 (Thu, 23 Feb 2006) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public class DeltaManager extends ClusterManagerBase{

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaRequest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaRequest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaSession.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaSession.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaSession.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -50,7 +51,7 @@
  * track of deltas during a request.
  *
  * @author Filip Hanik
- * @version $Revision: 372887 $ $Date: 2006-01-27 09:58:58 -0600 (Fri, 27 Jan 2006) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public class DeltaSession extends StandardSession implements Externalizable,ClusterSession,ReplicatedMapEntry {

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteBinderValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteBinderValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteBinderValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -79,7 +80,7 @@
  * This use case means that only requested session are migrated.
  * 
  * @author Peter Rossbach
- * @version $Revision: 326110 $ $Date: 2005-10-18 09:08:36 -0500 (Tue, 18 Oct 2005) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class JvmRouteBinderValve extends ValveBase implements ClusterValve, Lifecycle {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteSessionIDBinderLifecycleListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteSessionIDBinderLifecycleListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteSessionIDBinderLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteSessionIDBinderListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteSessionIDBinderListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteSessionIDBinderListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -32,7 +33,7 @@
  * node is failed.
  * 
  * @author Peter Rossbach
- * @version $Revision: 378258 $ $Date: 2006-02-16 08:42:35 -0600 (Thu, 16 Feb 2006) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class JvmRouteSessionIDBinderListener extends ClusterListener {
  

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/ReplicatedSession.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/ReplicatedSession.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/ReplicatedSession.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  *
  * Copyright:    See apache license
  * @author  Filip Hanik
- * @version $Revision: 303842 $ $Date: 2005-04-10 11:20:46 -0500 (Sun, 10 Apr 2005) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  * Description:<BR>
  * The ReplicatedSession class is a simple extension of the StandardSession class
  * It overrides a few methods (setAttribute, removeAttribute, expire, access) and has

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SerializablePrincipal.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SerializablePrincipal.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SerializablePrincipal.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  * The GenericPrincipal does NOT implement serializable and I didn't want to change that implementation
  * hence I implemented this one instead.
  * @author Filip Hanik
- * @version $Revision: 303587 $ $Date: 2004-12-09 08:36:43 -0600 (Thu, 09 Dec 2004) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 import org.apache.catalina.realm.GenericPrincipal;
 import java.io.ObjectInput;

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionIDMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionIDMessage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionIDMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -23,7 +24,7 @@
  * 
  * @author Peter Rossbach
  * 
- * @version $Revision: 326110 $ $Date: 2005-10-18 09:08:36 -0500 (Tue, 18 Oct 2005) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class SessionIDMessage extends ClusterMessageBase implements ClusterMessage {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionMessage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionMessageImpl.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionMessageImpl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionMessageImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * @author Filip Hanik
  * @author Peter Rossbach
  * 
- * @version $Revision: 326110 $ $Date: 2005-10-18 09:08:36 -0500 (Tue, 18 Oct 2005) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class SessionMessageImpl extends ClusterMessageBase implements SessionMessage, java.io.Serializable {
     

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SimpleTcpReplicationManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SimpleTcpReplicationManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/session/SimpleTcpReplicationManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,7 +23,7 @@
  * package.
  *
  * @author Peter Rossbach
- * @version $Revision: 303753 $ $Date: 2005-03-14 15:24:30 -0600 (Mon, 14 Mar 2005) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public class Constants {

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/ReplicationValve.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/ReplicationValve.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/ReplicationValve.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -56,7 +57,7 @@
  * @author Craig R. McClanahan
  * @author Filip Hanik
  * @author Peter Rossbach
- * @version $Revision: 375709 $ $Date: 2006-02-07 15:13:25 -0600 (Tue, 07 Feb 2006) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public class ReplicationValve

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/SendMessageData.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/SendMessageData.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/SendMessageData.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -20,7 +20,7 @@
 
 /**
  * @author Peter Rossbach
- * @version $Revision: 303987 $ $Date: 2005-07-08 15:50:30 -0500 (Fri, 08 Jul 2005) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class SendMessageData {
 

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/SimpleTcpCluster.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/tcp/SimpleTcpCluster.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -66,7 +67,7 @@
  * @author Filip Hanik
  * @author Remy Maucherat
  * @author Peter Rossbach
- * @version $Revision: 379550 $, $Date: 2006-02-21 12:06:35 -0600 (Tue, 21 Feb 2006) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 public class SimpleTcpCluster 
     implements CatalinaCluster, Lifecycle, LifecycleListener, IDynamicProperty,

Modified: branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/util/IDynamicProperty.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/util/IDynamicProperty.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/ha/src/share/org/apache/catalina/ha/util/IDynamicProperty.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,7 +21,7 @@
 
 /**
  * @author Peter Rossbach
- * @version $Revision: 304032 $, $Date: 2005-07-27 10:11:55 -0500 (Wed, 27 Jul 2005) $
+ * @version $Revision: 467206 $, $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public interface IDynamicProperty {

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/CatalinaClusterSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/CatalinaClusterSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/CatalinaClusterSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ConnectorSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ConnectorSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ConnectorSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /**
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /**
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IDynamicPropertyStoreAppender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IDynamicPropertyStoreAppender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IDynamicPropertyStoreAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /**
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IStoreConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IStoreConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IStoreConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IStoreFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IStoreFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IStoreFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/InstanceListenerSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/InstanceListenerSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/InstanceListenerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/LoaderSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/LoaderSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/LoaderSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ManagerSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ManagerSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ManagerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/NamingResourcesSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/NamingResourcesSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/NamingResourcesSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/PersistentManagerSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/PersistentManagerSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/PersistentManagerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardContextSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardContextSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardContextSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardEngineSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardEngineSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardEngineSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardHostSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardHostSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardHostSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardServerSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardServerSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardServerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardServiceSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardServiceSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardServiceSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreAppender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreAppender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreContextAppender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreContextAppender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreContextAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreDescription.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreDescription.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreDescription.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFactoryBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFactoryBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFactoryBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFactoryRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFactoryRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFactoryRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFileMover.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFileMover.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFileMover.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreLoader.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreLoader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreLoader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreRegistry.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreRegistry.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreRegistry.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WatchedResourceSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WatchedResourceSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WatchedResourceSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WrapperLifecycleSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WrapperLifecycleSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WrapperLifecycleSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WrapperListenerSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WrapperListenerSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WrapperListenerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ConnectorSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ConnectorSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ConnectorSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppenderTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppenderTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppenderTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/DescriptorHelper.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/DescriptorHelper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/DescriptorHelper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/InfoLifecycleListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/InfoLifecycleListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/InfoLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/LF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/LF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/LF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/LoaderSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/LoaderSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/LoaderSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ManagerSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ManagerSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ManagerSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ServerChildsTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ServerChildsTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ServerChildsTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardContextSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardContextSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardContextSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardEngineSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardEngineSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardEngineSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardHostSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardHostSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardHostSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardServiceSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardServiceSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardServiceSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreAppenderTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreAppenderTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreAppenderTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreLoaderTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreLoaderTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreLoaderTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreRegistryTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreRegistryTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreRegistryTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/CatalinaClusterSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/CatalinaClusterSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/CatalinaClusterSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ConnectorSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ConnectorSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ConnectorSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /**
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /**
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IDynamicPropertyStoreAppender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IDynamicPropertyStoreAppender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IDynamicPropertyStoreAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /**
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IStoreConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IStoreConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IStoreConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IStoreFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IStoreFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IStoreFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/InstanceListenerSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/InstanceListenerSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/InstanceListenerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/LoaderSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/LoaderSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/LoaderSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ManagerSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ManagerSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ManagerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/NamingResourcesSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/NamingResourcesSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/NamingResourcesSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/PersistentManagerSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/PersistentManagerSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/PersistentManagerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardContextSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardContextSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardContextSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardEngineSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardEngineSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardEngineSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardHostSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardHostSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardHostSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardServerSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardServerSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardServerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardServiceSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardServiceSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardServiceSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreAppender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreAppender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreContextAppender.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreContextAppender.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreContextAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreDescription.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreDescription.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreDescription.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFactoryBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFactoryBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFactoryBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFactoryRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFactoryRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFactoryRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFileMover.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFileMover.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFileMover.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreLoader.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreLoader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreLoader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreRegistry.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreRegistry.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreRegistry.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WatchedResourceSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WatchedResourceSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WatchedResourceSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WrapperLifecycleSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WrapperLifecycleSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WrapperLifecycleSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WrapperListenerSF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WrapperListenerSF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WrapperListenerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ConnectorSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ConnectorSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ConnectorSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppenderTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppenderTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppenderTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/DescriptorHelper.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/DescriptorHelper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/DescriptorHelper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/InfoLifecycleListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/InfoLifecycleListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/InfoLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/LF.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/LF.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/LF.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/LoaderSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/LoaderSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/LoaderSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ManagerSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ManagerSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ManagerSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ServerChildsTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ServerChildsTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ServerChildsTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardContextSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardContextSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardContextSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardEngineSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardEngineSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardEngineSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardHostSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardHostSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardHostSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardServiceSFTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardServiceSFTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardServiceSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreAppenderTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreAppenderTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreAppenderTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreLoaderTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreLoaderTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreLoaderTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreRegistryTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreRegistryTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreRegistryTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Aggregate01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Aggregate01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Aggregate01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -30,7 +30,7 @@
  * values returned by request.getParameterValues().
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Aggregate01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Aggregate02.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Aggregate02.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Aggregate02.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -35,7 +35,7 @@
  * <code>getParameterMap()</code> method to retrieve parameter values.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Aggregate02 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -28,7 +28,7 @@
  * constraint in the deployment descriptor.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Authentication01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication02.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication02.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication02.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -28,7 +28,7 @@
  * have authenticated a user previously by calling "/Authentication01".
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Authentication02 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication03.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication03.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication03.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -29,7 +29,7 @@
  * not assigned to the specified user.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Authentication03 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication05.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication05.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication05.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * roles will permit access to an authenticated user.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Authentication05 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication06.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication06.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Authentication06.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * roles will permit access to an authenticated user.
  *
  * @author Craig R. McClanahan
- * @version $Revision$ $Date: 2004-02-27 06:59:07 -0800 (Fri, 27 Feb 2004) $
+ * @version $Revision: 467206 $ $Date: 2006-10-23 20:45:46 -0600 (Mon, 23 Oct 2006) $
  */
 
 public class Authentication06 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/CharArrayResponse.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/CharArrayResponse.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/CharArrayResponse.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -28,7 +28,7 @@
  * upper case via an intermediate buffer.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class CharArrayResponse extends HttpServletResponseWrapper {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/CharArrayWriterUpperCase.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/CharArrayWriterUpperCase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/CharArrayWriterUpperCase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * Implementation of CharArrayWriter that upper cases its output.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class CharArrayWriterUpperCase extends CharArrayWriter {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Context00.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Context00.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Context00.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -30,7 +30,7 @@
  * time, and remove it at <code>destroy()</code> time.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Context00 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Context01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Context01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Context01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -30,7 +30,7 @@
  * present, which should be erased after a web application restart.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Context01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Context02.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Context02.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Context02.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -33,7 +33,7 @@
  * be cleaned up during a restart.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Context02 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ContextBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ContextBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ContextBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -24,7 +24,7 @@
  * Simple JavaBean to use for context attribute tests.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class ContextBean implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ContextListener01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ContextListener01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ContextListener01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * are logged appropriately to the static logger..
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class ContextListener01

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ContextListener02.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ContextListener02.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ContextListener02.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -29,7 +29,7 @@
  * editor classes for this web application are appropriately registered.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class ContextListener02

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/DatePropertyEditor.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/DatePropertyEditor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/DatePropertyEditor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * PropertyEditor implementation for a java.sql.Date property.
  *
  * @author Craig R. McClanahan
- * @revision $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $ $Revision: 302726 $
+ * @revision $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $ $Revision: 302726 $
  */
 public class DatePropertyEditor extends PropertyEditorSupport {
 

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Decoding01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Decoding01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Decoding01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -29,7 +29,7 @@
  * respectively.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Decoding01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * ErrorPage02 servlet in the deployment descriptor.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class ErrorPage01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage02.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage02.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage02.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * the ErrorPage01 servlet returns the appropriate status code.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class ErrorPage02 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage03.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage03.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage03.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * is mapped to the ErrorPage04 servlet in the deployment descriptor.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class ErrorPage03 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage04.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage04.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage04.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * the ErrorPage01 servlet returns the appropriate exception.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class ErrorPage04 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage05.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage05.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage05.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -34,7 +34,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class ErrorPage05 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage06.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage06.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage06.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * the ErrorPage05 servlet returns the appropriate exception.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class ErrorPage06 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage07.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage07.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ErrorPage07.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * status 503 (service unavailable) when it is called later.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class ErrorPage07 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterRequest01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterRequest01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterRequest01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -31,7 +31,7 @@
  * whether to call getReader() ("reader") or getInputStream() ("stream").
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class FilterRequest01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterRequest02.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterRequest02.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterRequest02.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -29,7 +29,7 @@
  * visible to the called servlet.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class FilterRequest02 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterRequest02a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterRequest02a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterRequest02a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -29,7 +29,7 @@
  * visible to the called servlet.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class FilterRequest02a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterResponse01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterResponse01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterResponse01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -29,7 +29,7 @@
  * filtered and converted to upper case before return to the client.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class FilterResponse01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterResponse04.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterResponse04.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterResponse04.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -29,7 +29,7 @@
  * visible to the called servlet.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class FilterResponse04 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterResponse04a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterResponse04a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/FilterResponse04a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -29,7 +29,7 @@
  * visible to the called servlet.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class FilterResponse04a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward00.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward00.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward00.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Exercise basic forwarding functionality.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward00 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward00a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward00a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward00a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Exercise basic forwarding functionality.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward00a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward00d.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward00d.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward00d.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Exercise basic forwarding functionality.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward00d extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * Positive test for forwarding to a static resource.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward03.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward03.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward03.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -30,7 +30,7 @@
  * parameter.  The default is the servlet.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward03 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward03a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward03a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward03a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -30,7 +30,7 @@
  * parameter.  The default is the servlet.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward03a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward04.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward04.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward04.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Testing for double forwarding.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward04 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward04a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward04a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward04a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Testing for double forwarding.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward04a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward04b.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward04b.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward04b.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Testing for double forwarding.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward04b extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward05.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward05.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward05.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Testing for double forwarding.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward05 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward05a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward05a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward05a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Testing for double forwarding.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward05a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward05b.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward05b.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward05b.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Testing for double forwarding.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward05b extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward06.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward06.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward06.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Testing for double forwarding.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward06 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward06a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward06a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward06a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Testing for double forwarding.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward06a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward06b.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward06b.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward06b.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Testing for double forwarding.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward06b extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward07.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward07.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward07.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Testing for double forwarding.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward07 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward07a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward07a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward07a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Testing for double forwarding.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward07a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward07b.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward07b.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward07b.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Testing for double forwarding.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward07b extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward08.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward08.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward08.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Testing for double forwarding.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward08 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward08a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward08a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward08a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Testing for double forwarding.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward08a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward08b.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward08b.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward08b.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Testing for double forwarding.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward08b extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward09.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward09.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Forward09.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * <code>request.getRequestDispatcher()</code>.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Forward09 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetHeaders01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetHeaders01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetHeaders01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -28,7 +28,7 @@
  * "Accept-Language" headers.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class GetHeaders01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetInputStream01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetInputStream01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetInputStream01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * This should throw an IllegalStateException.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class GetInputStream01 extends GenericServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetLocales01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetLocales01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetLocales01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * corresponds to "en_CA" Accept-Language header that is sent first.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class GetLocales01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetLocales02.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetLocales02.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetLocales02.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -28,7 +28,7 @@
  * "Accept-Language" headers.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class GetLocales02 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetParameter01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetParameter01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetParameter01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * URI like "/tester/GetParameter01?foo=1".
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class GetParameter01 extends GenericServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetParameterMap00.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetParameterMap00.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetParameterMap00.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * This should throw an IllegalStateException.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class GetParameterMap00 extends GenericServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetQueryString01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetQueryString01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/GetQueryString01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * URI like "/tester/GetQueryString01?foo=1".
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class GetQueryString01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Golden01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Golden01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Golden01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * with known contents for comparison to the golden file.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Golden01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include00.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include00.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include00.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Exercise basic including functionality.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include00 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include00a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include00a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include00a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Exercise basic including functionality.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include00a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include00d.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include00d.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include00d.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Exercise basic including functionality.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include00d extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * Positive test for including a static resource.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include02.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include02.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include02.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -30,7 +30,7 @@
  * these types should be propogated back to the caller unchanged.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include02 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include02a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include02a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include02a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Included servlet for the test performed by Include02.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include02a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include03.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include03.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include03.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -32,7 +32,7 @@
  * parameter.  The default is the servlet.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include03 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include03a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include03a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include03a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -28,7 +28,7 @@
  * intent to behave in this manner.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include03a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include04.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include04.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include04.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * then forward to another servlet that replaces the original contents.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include04 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include04a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include04a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include04a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * First subservlet for "include then forward" test.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include04a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include04b.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include04b.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include04b.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Second subservlet for "include then forward" test.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include04b extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include06a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include06a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include06a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * First subservlet for "include then include" test.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include06a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * includes another servlet, and we see all of the output in the right order.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include07 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * includes another servlet, and we see all of the output in the right order.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include07a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07b.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07b.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07b.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * includes another servlet, and we see all of the output in the right order.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include07b extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07c.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07c.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include07c.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * includes another servlet, and we see all of the output in the right order.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include07c extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include09.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include09.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include09.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * <code>request.getRequestDispatcher()</code>.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include09 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include10.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include10.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include10.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Make sure container sets up include reques attributes.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include10 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include10a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include10a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Include10a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Ensure the correct container managed request attributes are set.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Include10a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Jndi01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Jndi01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Jndi01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -37,7 +37,7 @@
  * should succeed.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Jndi01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Jndi02.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Jndi02.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Jndi02.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -38,7 +38,7 @@
  * deployment descriptor.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303152 $ $Date: 2004-08-31 09:41:22 -0500 (Tue, 31 Aug 2004) $
+ * @version $Revision: 303152 $ $Date: 2004-08-31 08:41:22 -0600 (Tue, 31 Aug 2004) $
  */
 
 public class Jndi02 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Lifecycle01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Lifecycle01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Lifecycle01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -30,7 +30,7 @@
  * made to it should be a "GET".
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Lifecycle01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Lifecycle02.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Lifecycle02.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Lifecycle02.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -30,7 +30,7 @@
  * made to it should be a "POST".
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Lifecycle02 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Lifecycle03.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Lifecycle03.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Lifecycle03.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -37,7 +37,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Lifecycle03 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Redirect01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Redirect01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Redirect01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * Positive test for HttpServletResponse.sendRedirect().
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Redirect01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Redirect01a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Redirect01a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Redirect01a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * Positive test for HttpServletResponse.sendRedirect().
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Redirect01a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Reflection01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Reflection01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Reflection01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -29,7 +29,7 @@
  * are exposed to this servlet by the container.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Reflection01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Request01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Request01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Request01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -28,7 +28,7 @@
  * present, which should be erased after a web application restart.
  *
  * @author Justyna Horwat
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Request01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/RequestListener01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/RequestListener01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/RequestListener01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * are logged appropriately to the static logger..
  *
  * @author Justyna Horwat
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class RequestListener01

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Reset01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Reset01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Reset01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * Positive test for ServletResponse.reset().
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Reset01 extends GenericServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -36,7 +36,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Resources01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources02.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources02.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources02.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -36,7 +36,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Resources02 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources03.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources03.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources03.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -36,7 +36,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Resources03 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources04.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources04.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources04.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -36,7 +36,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Resources04 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources05.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources05.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources05.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -41,7 +41,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Resources05 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources06.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources06.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Resources06.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -32,7 +32,7 @@
  * found in order to pass.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Resources06 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ResponseWrap01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ResponseWrap01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ResponseWrap01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * or including both servlets and JSP pages.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class ResponseWrap01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ResponseWrap01a.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ResponseWrap01a.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ResponseWrap01a.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * or including both servlets and JSP pages.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class ResponseWrap01a extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ResponseWrap01c.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ResponseWrap01c.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/ResponseWrap01c.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * or including both servlets and JSP pages.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class ResponseWrap01c extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -31,7 +31,7 @@
  * calling setAttribute("name", null) acts like removeAttribute().
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Session01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session02.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session02.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session02.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * that the session bean stashed in Part 1 can be retrieved successfully.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Session02 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session03.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session03.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session03.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -31,7 +31,7 @@
  * Then, it removes that attribute and verifies successful removal.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Session03 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session04.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session04.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session04.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -28,7 +28,7 @@
  * identifier) while processing this request.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Session04 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session05.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session05.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session05.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * of SessionListener01 and SessionListener02 in the web.xml file
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Session05 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session06.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session06.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Session06.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * after the response has been committed throws IllegalStateException.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Session06 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -30,7 +30,7 @@
  * so that instances can be saved and restored across server restarts.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class SessionBean implements

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionListener01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionListener01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionListener01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * creation and destruction events are logged to the servlet context log.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class SessionListener01

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionListener02.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionListener02.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionListener02.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -26,7 +26,7 @@
  * are logged appropriately to the static logger.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class SessionListener02

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionListener03.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionListener03.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SessionListener03.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * All events that occur are logged to the servlet context log.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 304039 $ $Date: 2005-08-01 11:55:47 -0500 (Mon, 01 Aug 2005) $
+ * @version $Revision: 304039 $ $Date: 2005-08-01 10:55:47 -0600 (Mon, 01 Aug 2005) $
  */
 
 public class SessionListener03

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SetBufferSize01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SetBufferSize01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SetBufferSize01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * Negative test for ServletResponse.setBufferSize().
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class SetBufferSize01 extends GenericServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SetLocale01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SetLocale01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/SetLocale01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * Positive test for ServletResponse.setLocale().
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class SetLocale01 extends GenericServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/StaticFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/StaticFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/StaticFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * so that no leftovers from the previous request are inadvertently included.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class StaticFilter implements Filter {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/StaticLogger.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/StaticLogger.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/StaticLogger.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -28,7 +28,7 @@
  * recording and retrieval of log messages.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class StaticLogger {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TestClient.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TestClient.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TestClient.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -79,7 +79,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303278 $ $Date: 2004-09-25 16:27:31 -0500 (Sat, 25 Sep 2004) $
+ * @version $Revision: 303278 $ $Date: 2004-09-25 15:27:31 -0600 (Sat, 25 Sep 2004) $
  */
 
 public class TestClient extends Task {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterException.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterException.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterException.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -25,7 +25,7 @@
  * Generic exception class to use for testing error page assertions.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class TesterException extends Exception {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterHttpServletRequestWrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterHttpServletRequestWrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterHttpServletRequestWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -28,7 +28,7 @@
  * before passing them on to the underlying request.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class TesterHttpServletRequestWrapper

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterHttpServletResponseWrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterHttpServletResponseWrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterHttpServletResponseWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * before passing them on to the underlying response.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class TesterHttpServletResponseWrapper

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterServletRequestWrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterServletRequestWrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterServletRequestWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * before passing them on to the underlying request.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class TesterServletRequestWrapper extends ServletRequestWrapper {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterServletResponseWrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterServletResponseWrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/TesterServletResponseWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * before passing them on to the underlying response.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class TesterServletResponseWrapper extends ServletResponseWrapper {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * Filter that simply transforms its output to upper case.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class UpperCaseFilter implements Filter {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseInputStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseInputStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseInputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -28,7 +28,7 @@
  * WARNING:  This will only work on 8-bit character sets!
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class UpperCaseInputStream extends ServletInputStream {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseOutputStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseOutputStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseOutputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -28,7 +28,7 @@
  * WARNING:  This will only work on 8-bit character sets!
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class UpperCaseOutputStream extends ServletOutputStream {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseReader.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseReader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseReader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * BufferedReader that converts all characters to upper case.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class UpperCaseReader extends BufferedReader {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseRequest.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseRequest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -28,7 +28,7 @@
  * upper case.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class UpperCaseRequest extends HttpServletRequestWrapper {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseResponse.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseResponse.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseResponse.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -28,7 +28,7 @@
  * upper case.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class UpperCaseResponse extends HttpServletResponseWrapper {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseWriter.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseWriter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/UpperCaseWriter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * PrintWriter that converts all characters to upper case.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class UpperCaseWriter extends PrintWriter {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/WrapperFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/WrapperFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/WrapperFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -27,7 +27,7 @@
  * it passes on with either generic or HTTP-specific wrappers.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class WrapperFilter implements Filter {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Xerces01.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Xerces01.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Xerces01.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -32,7 +32,7 @@
  *
  * @author Amy Roh
  * @author Craig McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Xerces01 extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Xerces01Parser.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Xerces01Parser.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/Xerces01Parser.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -33,7 +33,7 @@
  *
  * @author Amy Roh
  * @author Craig McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class Xerces01Parser extends HandlerBase {

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/shared/SharedSessionBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/shared/SharedSessionBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/shared/SharedSessionBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -34,7 +34,7 @@
  * <code>$CATALINA_HOME/lib</code>.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class SharedSessionBean implements

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/unpshared/UnpSharedSessionBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/unpshared/UnpSharedSessionBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/unpshared/UnpSharedSessionBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -34,7 +34,7 @@
  * <code>$CATALINA_HOME/classes</code>.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class UnpSharedSessionBean implements

Modified: branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/unshared/UnsharedSessionBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/unshared/UnsharedSessionBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/tester/src/tester/org/apache/tester/unshared/UnsharedSessionBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -35,7 +35,7 @@
  * <code>/WEB-INF/lib/tester.jar</code>.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 302726 $ $Date: 2004-02-27 07:59:07 -0700 (Fri, 27 Feb 2004) $
  */
 
 public class UnsharedSessionBean extends SessionBean implements

Modified: branches/tomcat5.5/upstream/current/container/webapps/ROOT/WEB-INF/web.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/ROOT/WEB-INF/web.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/ROOT/WEB-INF/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ActionTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ActionTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ActionTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,14 +19,9 @@
 package org.apache.webapp.admin;
 
 
-import java.io.IOException;
-import java.net.URLEncoder;
-import java.util.ArrayList;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.PageContext;
 import javax.servlet.jsp.tagext.BodyTagSupport;
 import javax.servlet.jsp.tagext.Tag;
 
@@ -47,7 +43,7 @@
  * <strong>FIXME</strong> - Internationalize the exception messages!
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479043 $ $Date: 2006-11-24 16:03:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class ActionTag extends BodyTagSupport {
@@ -120,7 +116,7 @@
         this.label = null;
 
         // Do no further processing for now
-        return (EVAL_BODY_TAG);
+        return (EVAL_BODY_BUFFERED);
 
     }
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ActionsTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ActionsTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ActionsTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,11 +20,9 @@
 
 
 import java.io.IOException;
-import java.net.URLEncoder;
 import java.util.ArrayList;
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.PageContext;
 import javax.servlet.jsp.tagext.BodyTagSupport;
 
 
@@ -43,7 +42,7 @@
  * <strong>FIXME</strong> - Internationalize the exception messages!
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479043 $ $Date: 2006-11-24 16:03:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class ActionsTag extends BodyTagSupport {
@@ -140,7 +139,7 @@
         this.selecteds.clear();
         this.urls.clear();
 
-        return (EVAL_BODY_TAG);
+        return (EVAL_BODY_BUFFERED);
        
     }
     

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationLocales.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationLocales.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationLocales.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -32,7 +33,7 @@
  *
  * @author Patrick Luby
  * @author Craig R. McClanahan
- * @version $Revision: 302997 $ $Date: 2004-07-10 01:56:16 -0500 (Sat, 10 Jul 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class ApplicationLocales {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -142,6 +142,9 @@
 connector.keystore.filename=Keystore Filename
 connector.keystore.password=Keystore Password
 connector.keystore.type=Keystore Type
+connector.truststore.filename=Trust Store Filename
+connector.truststore.password=Trust Store Password
+connector.truststore.type=Trust Store Type
 connector.sslProtocol=SSL Protocol
 connector.keyPass.warning=<li>Please use keytool to generate certificate.</li>
 connector.secure=Secure

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,16 +18,11 @@
 
 package org.apache.webapp.admin;
 
-import java.text.DateFormat;
-import java.util.HashSet;
-import java.util.Locale;
-import java.util.ResourceBundle;
 import javax.management.MBeanServer;
 import javax.servlet.ServletException;
 import javax.servlet.UnavailableException;
 import org.apache.commons.modeler.Registry;
 import org.apache.struts.action.ActionServlet;
-import org.apache.struts.util.MessageResources;
 
 
 /**
@@ -34,7 +30,7 @@
  * ApplicationLocales class.
  *
  * @author Patrick Luby
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479043 $ $Date: 2006-11-24 16:03:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class ApplicationServlet extends ActionServlet {
@@ -132,9 +128,8 @@
      */
     protected void initRegistry() throws ServletException {
 
-        registry = Registry.getRegistry();
-        //(Registry) getServletContext().getAttribute
-        //    ("org.apache.catalina.Registry");
+        registry = Registry.getRegistry(null, null);
+
         if (registry == null)
             throw new UnavailableException("Registry is not available");
 
@@ -151,7 +146,7 @@
      */
     protected void initServer() throws ServletException {
 
-        server = Registry.getRegistry().getMBeanServer();
+        server = Registry.getRegistry(null, null).getMBeanServer();
         //(MBeanServer) getServletContext().getAttribute
         //    ("org.apache.catalina.MBeanServer");
         if (server == null)

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/AttributeTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/AttributeTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/AttributeTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -34,7 +35,7 @@
  * out to the current output stream.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303952 $ $Date: 2005-06-11 10:53:16 -0500 (Sat, 11 Jun 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class AttributeTag extends TagSupport {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/CommitChangesAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/CommitChangesAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/CommitChangesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,15 +19,11 @@
 
 
 import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -34,16 +31,14 @@
 import org.apache.struts.util.MessageResources;
 
 import javax.management.MBeanServer;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 
 /**
  * Implementation of <strong>Action</strong> that saves the current settings
  * and writes them out to server.xml
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479043 $ $Date: 2006-11-24 16:03:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class CommitChangesAction extends Action {
@@ -87,7 +82,6 @@
         }
 
        // Acquire the resources that we need
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         MessageResources resources = getResources(request);
         

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DataTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DataTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DataTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,13 +19,7 @@
 package org.apache.webapp.admin;
 
 
-import java.io.IOException;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import javax.servlet.http.HttpServletResponse;
 import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.PageContext;
 import javax.servlet.jsp.tagext.BodyTagSupport;
 import javax.servlet.jsp.tagext.Tag;
 
@@ -39,7 +34,7 @@
  * <strong>FIXME</strong> - Internationalize the exception messages!
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $
+ * @version $Revision: 479043 $
  */
 
 public class DataTag extends BodyTagSupport {
@@ -68,7 +63,7 @@
         this.data = null;
 
         // Do no further processing for now
-        return (EVAL_BODY_TAG);
+        return (EVAL_BODY_BUFFERED);
 
     }
 
@@ -106,8 +101,6 @@
 
         // Register the information for the action represented by
         // this action
-        HttpServletResponse response =
-            (HttpServletResponse) pageContext.getResponse();
         row.setData(data);
         
         return (EVAL_PAGE);

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpRegistryAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpRegistryAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpRegistryAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,16 +20,13 @@
 
 
 import java.io.IOException;
-import java.io.PrintWriter;
 import java.util.Arrays;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.commons.modeler.ManagedBean;
 import org.apache.commons.modeler.Registry;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -39,7 +37,7 @@
  * visible in our Registry.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479043 $ $Date: 2006-11-24 16:03:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class DumpRegistryAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpServerAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpServerAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpServerAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,18 +20,14 @@
 
 
 import java.io.IOException;
-import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Iterator;
 import javax.management.MBeanServer;
-import javax.management.ObjectName;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -41,7 +38,7 @@
  * visible in our MBeanServer.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479043 $ $Date: 2006-11-24 16:03:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class DumpServerAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LabelTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LabelTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LabelTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,13 +19,7 @@
 package org.apache.webapp.admin;
 
 
-import java.io.IOException;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import javax.servlet.http.HttpServletResponse;
 import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.PageContext;
 import javax.servlet.jsp.tagext.BodyTagSupport;
 import javax.servlet.jsp.tagext.Tag;
 
@@ -39,7 +34,7 @@
  * <strong>FIXME</strong> - Internationalize the exception messages!
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $
+ * @version $Revision: 479043 $
  */
 
 public class LabelTag extends BodyTagSupport {
@@ -68,7 +63,7 @@
         this.label = null;
 
         // Do no further processing for now
-        return (EVAL_BODY_TAG);
+        return (EVAL_BODY_BUFFERED);
 
     }
 
@@ -106,8 +101,6 @@
 
         // Register the information for the action represented by
         // this action
-        HttpServletResponse response =
-            (HttpServletResponse) pageContext.getResponse();
         row.setLabel(label);
         
         return (EVAL_PAGE);

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LabelValueBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LabelValueBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LabelValueBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,7 +25,7 @@
  * that are utilized by the <code>&lt;form:options&gt;</code> tag.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class LabelValueBean implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/Lists.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/Lists.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/Lists.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -34,7 +35,7 @@
  *
  * @author Craig R. McClanahan
  * @author Amy Roh
- * @version $Revision: 440953 $ $Date: 2006-09-06 21:47:31 -0500 (Wed, 06 Sep 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class Lists {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LogOutAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LogOutAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LogOutAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,15 +20,11 @@
 
 
 import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -38,7 +35,7 @@
  * session and returns to the main menu (which will trigger the login form).
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479043 $ $Date: 2006-11-24 16:03:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class LogOutAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/RowTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/RowTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/RowTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,13 +19,7 @@
 package org.apache.webapp.admin;
 
 
-import java.io.IOException;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import javax.servlet.http.HttpServletResponse;
 import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.PageContext;
 import javax.servlet.jsp.tagext.BodyTagSupport;
 import javax.servlet.jsp.tagext.Tag;
 
@@ -45,7 +40,7 @@
  * </ul>
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479043 $ $Date: 2006-11-24 16:03:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class RowTag extends BodyTagSupport {
@@ -134,7 +129,7 @@
     public int doStartTag() throws JspException {
         
          // Do no further processing for now
-        return (EVAL_BODY_TAG);
+        return (EVAL_BODY_BUFFERED);
         
     }
     
@@ -170,8 +165,6 @@
         
         // Register the information for the row represented by
         // this row
-        HttpServletResponse response =
-        (HttpServletResponse) pageContext.getResponse();
         table.addRow(header, label, data, labelStyle, dataStyle, styleId);
         
         return (EVAL_PAGE);

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetLocaleAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetLocaleAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetLocaleAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,7 +21,6 @@
 
 import java.io.IOException;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
@@ -28,7 +28,6 @@
 import javax.servlet.http.HttpSession;
 import org.apache.struts.Globals;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -39,7 +38,7 @@
  * to the one specified by the <code>locale</code> request parameter.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479043 $ $Date: 2006-11-24 16:03:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SetLocaleAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetLocaleForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetLocaleForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetLocaleForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  * bean is added as a session attribute.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302997 $ $Date: 2004-07-10 01:56:16 -0500 (Sat, 10 Jul 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class SetLocaleForm

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetUpTreeAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetUpTreeAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetUpTreeAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,9 +20,6 @@
 
 
 import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
 import java.util.StringTokenizer;
 import java.util.ArrayList;
 import javax.servlet.ServletException;
@@ -29,7 +27,6 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -41,7 +38,7 @@
  *
  * @author Jazmin Jonson
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479043 $ $Date: 2006-11-24 16:03:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class SetUpTreeAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TableTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TableTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TableTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,11 +20,9 @@
 
 
 import java.io.IOException;
-import java.net.URLEncoder;
 import java.util.ArrayList;
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.PageContext;
 import javax.servlet.jsp.tagext.BodyTagSupport;
 
 
@@ -44,7 +43,7 @@
  * <strong>FIXME</strong> - Internationalize the exception messages!
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479043 $ $Date: 2006-11-24 16:03:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class TableTag extends BodyTagSupport {
@@ -155,7 +154,7 @@
         this.dataStyles.clear();
         this.styleIds.clear();
         
-        return (EVAL_BODY_TAG);
+        return (EVAL_BODY_BUFFERED);
  
      }    
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TomcatTreeBuilder.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TomcatTreeBuilder.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TomcatTreeBuilder.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -16,37 +17,17 @@
 
 package org.apache.webapp.admin;
 
-import java.io.IOException;
 import java.util.Iterator;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Collections;
 import java.util.Locale;
 import java.net.URLEncoder;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
-import org.apache.commons.modeler.ManagedBean;
-import org.apache.commons.modeler.Registry;
 import org.apache.struts.Globals;
-import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionForward;
-import org.apache.struts.action.ActionMapping;
 import org.apache.struts.util.MessageResources;
 import javax.management.AttributeNotFoundException;
 import javax.management.MalformedObjectNameException;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanInfo;
 
 /**
  * <p> Implementation of TreeBuilder interface for Tomcat Tree Controller
@@ -55,7 +36,7 @@
  * @author Jazmin Jonson
  * @author Manveen Kaur
  * @author Amy Roh
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479043 $ $Date: 2006-11-24 16:03:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 
@@ -128,7 +109,6 @@
             Lists.getServers(mBServer,domain).iterator();
         while (serverNames.hasNext()) {
             String serverName = (String) serverNames.next();
-            ObjectName objectName = new ObjectName(serverName);
             String nodeLabel = SERVER_LABEL;
             TreeControlNode serverNode =
                 new TreeControlNode(serverName,
@@ -463,7 +443,6 @@
                 Lists.getValves(mBServer, containerName).iterator();        
         while (valveNames.hasNext()) {
             String valveName = (String) valveNames.next();
-            ObjectName objectName = new ObjectName(valveName);
             String nodeLabel = "Valve for " + containerNode.getLabel();
             TreeControlNode valveNode =
                 new TreeControlNode(valveName,

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeBuilder.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeBuilder.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeBuilder.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControl.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -30,7 +31,7 @@
  *
  * @author Jazmin Jonson
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class TreeControl implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlNode.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlNode.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlNode.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  *
  * @author Jazmin Jonson
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class TreeControlNode implements Serializable {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -59,7 +60,7 @@
  * <strong>FIXME</strong> - Internationalize the exception messages!
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303561 $ $Date: 2004-12-01 21:49:01 -0600 (Wed, 01 Dec 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class TreeControlTag extends TagSupport {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlTestAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlTestAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlTestAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,16 +20,11 @@
 
 
 import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.net.URLDecoder;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -39,7 +35,7 @@
  * page.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479043 $ $Date: 2006-11-24 16:03:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class TreeControlTestAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/AddConnectorAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/AddConnectorAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/AddConnectorAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,18 +19,15 @@
 
 import java.io.IOException;
 import java.net.URLEncoder;
-import java.util.Locale;
 import java.util.ArrayList;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.TomcatTreeBuilder;
 import org.apache.webapp.admin.LabelValueBean;
 import org.apache.webapp.admin.Lists;
@@ -38,7 +36,7 @@
  * The <code>Action</code> that sets up <em>Add Connector</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 477406 $ $Date: 2006-11-20 16:34:22 -0700 (Mon, 20 Nov 2006) $
  */
 
 public class AddConnectorAction extends Action {
@@ -119,6 +117,9 @@
         connectorFm.setKeyStoreFileName("");
         connectorFm.setKeyStorePassword("");
         connectorFm.setKeyStoreType("JKS");
+        connectorFm.setTrustStoreFileName("");
+        connectorFm.setTrustStorePassword("");
+        connectorFm.setTrustStoreType("JKS");
         connectorFm.setSslProtocol("TLS");
                        
         // supported only by Coyote connectors

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,10 +19,11 @@
 package org.apache.webapp.admin.connector;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+
 import java.net.InetAddress;
 import java.util.List;
 
@@ -29,7 +31,7 @@
  * Form bean for the connector page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302986 $ $Date: 2004-06-27 21:14:52 -0500 (Sun, 27 Jun 2004) $
+ * @version $Revision: 477406 $ $Date: 2006-11-20 16:34:22 -0700 (Mon, 20 Nov 2006) $
  */
 
 public final class ConnectorForm extends ActionForm {
@@ -219,6 +221,21 @@
     private String keyStoreType = null;
 
     /**
+     * The trustStore Filename.
+     */
+    private String trustStoreFileName = null;
+        
+    /**
+     * The trustStore Password.
+     */
+    private String trustStorePassword = null;
+    
+    /**
+     * The trustStore Type.
+     */
+    private String trustStoreType = null;
+
+    /**
      * The text for the Ssl Protocol.
      */
     private String sslProtocol= null;
@@ -632,6 +649,8 @@
         this.keyStoreType = keyStoreType;
 
     }
+
+    
     /**
      * Return the sslProtocol
      */
@@ -871,6 +890,63 @@
     }
     
     /**
+     * Return the trust store filename for this connector.
+     */
+    public String getTrustStoreFileName() {
+
+        return this.trustStoreFileName;
+
+    }
+
+
+    /**
+     * Set the trust store filename for this connector.
+     */
+    public void setTrustStoreFileName(String trustStoreFileName) {
+
+        this.trustStoreFileName = trustStoreFileName;
+
+    }
+
+    /**
+     * Return the trust store password for this connector.
+     */
+    public String getTrustStorePassword() {
+
+        return this.trustStorePassword;
+
+    }
+
+
+    /**
+     * Set the trust store password for this connector.
+     */
+    public void setTrustStorePassword(String trustStorePassword) {
+
+        this.trustStorePassword = trustStorePassword;
+
+    }
+
+    /**
+     * Return the trust store type for this connector.
+     */
+    public String getTrustStoreType() {
+
+        return this.trustStoreType;
+
+    }
+
+
+    /**
+     * Set the trust store type for this connector.
+     */
+    public void setTrustStoreType(String trustStoreType) {
+
+        this.trustStoreType = trustStoreType;
+
+    }
+
+    /**
      * Return the URIEncoding text.
      */
     public String getURIEncodingText() {
@@ -1092,7 +1168,11 @@
         this.secure = "false";
         this.tcpNoDelay = "false";
         this.xpoweredBy = "false";
+        this.trustStoreFileName = null;
+        this.trustStorePassword = null;
+        this.trustStoreType = null;
         
+        
     }
     
     /**
@@ -1113,55 +1193,40 @@
     
         errors = new ActionErrors();
         
-        String submit = request.getParameter("submit");
-        // front end validation when save is clicked.
-        //if (submit != null) {
-  
-            /* The IP address can also be null -- which means open the
-             server socket on *all* IP addresses for this host */
-            if ((address.length() > 0) && !address.equalsIgnoreCase(" ")) {
-                try {
-                    InetAddress.getByName(address);
-                } catch (Exception e) {
-                    errors.add("address", new ActionError("error.address.invalid"));
-                }
-            } else {
-                address = " ";
+        /* The IP address can also be null -- which means open the
+         server socket on *all* IP addresses for this host */
+        if ((address.length() > 0) && !address.equalsIgnoreCase(" ")) {
+            try {
+                InetAddress.getByName(address);
+            } catch (Exception e) {
+                errors.add("address", new ActionMessage("error.address.invalid"));
             }
+        } else {
+            address = " ";
+        }
             
-            /* ports */
-            numberCheck("portNumber",  portText, true, 1, 65535);
-            numberCheck("redirectPortText",  redirectPortText, true, -1, 65535);
+        /* ports */
+        numberCheck("portNumber",  portText, true, 1, 65535);
+        numberCheck("redirectPortText",  redirectPortText, true, -1, 65535);
             
-            /* processors*/
-            //numberCheck("minProcessorsText",  minProcessorsText, true, 1, 512);
-            //try {
-                // if min is a valid integer, then check that max >= min
-                //int min = Integer.parseInt(minProcessorsText);
-                //numberCheck("maxProcessorsText",  maxProcessorsText, true, min, 512);
-            //} catch (Exception e) {
-                // check for the complete range
-                //numberCheck("maxProcessorsText",  maxProcessorsText, true, 1, 512);
-            //}
-            
-            // proxy                  
-            if ((proxyName!= null) && (proxyName.length() > 0)) {
-                try {
-                    InetAddress.getByName(proxyName);
-                } catch (Exception e) {
-                    errors.add("proxyName", new ActionError("error.proxyName.invalid"));
-                }
-            }   
-            
-            // supported only by Coyote HTTP and HTTPS connectors
-            if (!("AJP".equalsIgnoreCase(connectorType))) {
-                numberCheck("acceptCountText", acceptCountText, true, 0, 128);
-                //numberCheck("connTimeOutText", connTimeOutText, true, -1, 60000);
-                numberCheck("bufferSizeText", bufferSizeText, true, 1, 8192);
-                numberCheck("proxyPortText",  proxyPortText, true, 0, 65535);  
+        // proxy                  
+        if ((proxyName!= null) && (proxyName.length() > 0)) {
+            try {
+                InetAddress.getByName(proxyName);
+            } catch (Exception e) {
+                errors.add("proxyName",
+                        new ActionMessage("error.proxyName.invalid"));
             }
-        //}
+        }   
         
+        // supported only by Coyote HTTP and HTTPS connectors
+        if (!("AJP".equalsIgnoreCase(connectorType))) {
+            numberCheck("acceptCountText", acceptCountText, true, 0, 128);
+            //numberCheck("connTimeOutText", connTimeOutText, true, -1, 60000);
+            numberCheck("bufferSizeText", bufferSizeText, true, 1, 8192);
+            numberCheck("proxyPortText",  proxyPortText, true, 0, 65535);  
+        }
+        
         return errors;
     }
     
@@ -1171,7 +1236,8 @@
      *
      * @param  field  The field name in the form for which this error occured.
      * @param  numText  The string representation of the number.
-     * @param rangeCheck  Boolean value set to true of reange check should be performed.
+     * @param rangeCheck  Boolean value set to true of reange check should be
+     * performed.
      *
      * @param  min  The lower limit of the range
      * @param  max  The upper limit of the range
@@ -1183,7 +1249,7 @@
         
         /* Check for 'is required' */
         if ((numText == null) || (numText.length() < 1)) {
-            errors.add(field, new ActionError("error."+field+".required"));
+            errors.add(field, new ActionMessage("error."+field+".required"));
         } else {
             
         /*check for 'must be a number' in the 'valid range'*/
@@ -1193,11 +1259,11 @@
                 if (rangeCheck) {
                     if ((num < min) || (num > max ))
                         errors.add( field,
-                        new ActionError("error."+ field +".range"));
+                        new ActionMessage("error."+ field +".range"));
                 }
             } catch (NumberFormatException e) {
                 errors.add(field,
-                new ActionError("error."+ field + ".format"));
+                new ActionMessage("error."+ field + ".format"));
             }
         }
     }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorsForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorsForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorsForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
  * Form bean for deleting connectors.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ConnectorsForm extends ActionForm {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,28 +20,18 @@
 import java.io.IOException;
 import java.util.Collections;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Locale;
-import java.util.TreeSet;
-import java.util.Set;
 import java.util.ArrayList;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import org.apache.struts.util.MessageResources;
 
 import org.apache.webapp.admin.ApplicationServlet;
@@ -50,7 +41,7 @@
  * The <code>Action</code> that sets up <em>Delete Connectors</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 477406 $ $Date: 2006-11-20 16:34:22 -0700 (Mon, 20 Nov 2006) $
  */
 
 public class DeleteConnectorAction extends Action {
@@ -89,7 +80,6 @@
         
         
         // Acquire the resources that we need
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         MessageResources resources = getResources(request);    
         

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorsAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorsAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,15 +19,9 @@
 package org.apache.webapp.admin.connector;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
-import java.util.Set;
-import java.util.TreeSet;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
-import javax.management.ObjectInstance;
-import javax.management.modelmbean.ModelMBean;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpSession;
 import javax.servlet.http.HttpServletRequest;
@@ -48,7 +43,7 @@
  * transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 477406 $ $Date: 2006-11-20 16:34:22 -0700 (Mon, 20 Nov 2006) $
  */
 
 public class DeleteConnectorsAction extends Action {
@@ -119,7 +114,6 @@
                 
             // Look up our MBeanFactory MBean
             ObjectName fname = null;
-            String domain = null;
             TreeControlNode node = null;
 
             // Remove the specified connectors
@@ -128,7 +122,6 @@
                 if (control != null) {
                     control.selectNode(null);
                     node = control.findNode(connectors[i]);
-                    domain = node.getDomain();
                     // Look up our MBeanFactory MBean
                     fname = TomcatTreeBuilder.getMBeanFactory();
                     mBServer.invoke(fname, operation,

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/EditConnectorAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/EditConnectorAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/EditConnectorAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,36 +18,29 @@
 package org.apache.webapp.admin.connector;
 
 import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Locale;
-import java.util.ArrayList;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 import org.apache.struts.util.MessageResources;
 
 import javax.management.MBeanServer;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 
 import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.LabelValueBean;
 import org.apache.webapp.admin.Lists;
-import org.apache.webapp.admin.TomcatTreeBuilder;
 import java.net.InetAddress;
+
 /**
  * The <code>Action</code> that sets up <em>Edit Connector</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 394493 $ $Date: 2006-04-16 09:27:59 -0500 (Sun, 16 Apr 2006) $
+ * @version $Revision: 505759 $ $Date: 2007-02-10 13:20:48 -0700 (Sat, 10 Feb 2007) $
  */
 
 public class EditConnectorAction extends Action {
@@ -137,10 +131,12 @@
             int period = handlerClassName.lastIndexOf('.');
             String connType = handlerClassName.substring(period + 1);
             String connectorType = "HTTPS";
-            if ("JkCoyoteHandler".equalsIgnoreCase(connType)) {
+            if ("JkCoyoteHandler".equalsIgnoreCase(connType) ||
+                    "AjpAprProtocol".equalsIgnoreCase(connType)) {
                 connectorType = "AJP";
-            } else if ("Http11Protocol".equalsIgnoreCase(connType) && 
-                      ("http".equalsIgnoreCase(scheme))) {
+            } else if (("Http11Protocol".equalsIgnoreCase(connType)  ||
+                    "Http11AprProtocol".equalsIgnoreCase(connType)) && 
+                    ("http".equalsIgnoreCase(scheme))) {
                 connectorType = "HTTP";
             }             
             connectorFm.setConnectorType(connectorType);            
@@ -251,6 +247,15 @@
                 attribute = "keystoreType";
                 connectorFm.setKeyStoreType
                     ((String) mBServer.getAttribute(cname, attribute));   
+                attribute = "trustStoreFile";
+                connectorFm.setTrustStoreFileName
+                    ((String) mBServer.getAttribute(cname, attribute));
+                attribute = "trustStorePass";
+                connectorFm.setTrustStorePassword
+                    ((String) mBServer.getAttribute(cname, attribute));     
+                attribute = "trustStoreType";
+                connectorFm.setTrustStoreType
+                    ((String) mBServer.getAttribute(cname, attribute));   
                 attribute = "sslProtocol";
                 connectorFm.setSslProtocol
                     ((String) mBServer.getAttribute(cname, attribute));          

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,27 +18,21 @@
 package org.apache.webapp.admin.connector;
 
 import java.net.URLEncoder;
-import java.util.Iterator;
 import java.util.Locale;
 import java.io.IOException;
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 import org.apache.webapp.admin.TomcatTreeBuilder;
@@ -50,7 +45,7 @@
  * <em>Edit Connector</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 477406 $ $Date: 2006-11-20 16:34:22 -0700 (Mon, 20 Nov 2006) $
  */
 
 public final class SaveConnectorAction extends Action {
@@ -148,9 +143,9 @@
                 // Ensure that the requested connector name and port is unique
                 if (mBServer.isRegistered(oname) ||
                     (!mBServer.queryNames(search, null).isEmpty())) {
-                    ActionErrors errors = new ActionErrors();
+                    ActionMessages errors = new ActionMessages();
                     errors.add("connectorName",
-                               new ActionError("error.connectorName.exists"));
+                               new ActionMessage("error.connectorName.exists"));
                     saveErrors(request, errors);
                     return (new ActionForward(mapping.getInput()));
                 }
@@ -297,24 +292,6 @@
             }
             mBServer.setAttribute(coname,
                                   new Attribute("redirectPort", new Integer(redirectPort))); 
-            attribute = "minProcessors";
-            int minProcessors = 5;
-            try {
-                minProcessors = Integer.parseInt(cform.getMinProcessorsText());
-            } catch (Throwable t) {
-                minProcessors = 5;
-            }
-            //mBServer.setAttribute(coname,
-            //                      new Attribute("minProcessors", new Integer(minProcessors))); 
-            attribute = "maxProcessors";
-            int maxProcessors = 20;
-            try {
-                maxProcessors = Integer.parseInt(cform.getMaxProcessorsText());
-            } catch (Throwable t) {
-                maxProcessors = 20;
-            }
-            //mBServer.setAttribute(coname,
-            //                      new Attribute("maxProcessors", new Integer(maxProcessors))); 
        
             attribute = "maxKeepAliveRequests";
             int maxKeepAliveRequests = 100;
@@ -413,43 +390,51 @@
             
             // HTTPS specific properties
             if("HTTPS".equalsIgnoreCase(connectorType)) {
-                attribute = "algorithm";
                 String algorithm = cform.getAlgorithm();
                 if ((algorithm != null) && (algorithm.length()>0)) 
                     mBServer.setAttribute(coname,
                               new Attribute("algorithm", algorithm));  
                 
-                attribute = "clientAuth";              
                 mBServer.setAttribute(coname,
                               new Attribute("clientAuth", 
                                              cform.getClientAuthentication()));   
                 
-                attribute = "ciphers";
                 String ciphers = cform.getCiphers();
                 if ((ciphers != null) && (ciphers.length()>0)) 
                     mBServer.setAttribute(coname,
                               new Attribute("ciphers", ciphers));           
                 
-                attribute = "keystoreFile";
                 String keyFile = cform.getKeyStoreFileName();
                 if ((keyFile != null) && (keyFile.length()>0)) 
                     mBServer.setAttribute(coname,
                               new Attribute("keystoreFile", keyFile));            
                 
-                attribute = "keystorePass";
                 String keyPass = cform.getKeyStorePassword();
                 if ((keyPass != null) && (keyPass.length()>0)) 
                     mBServer.setAttribute(coname,
                               new Attribute("keystorePass", keyPass));                 
                 // request.setAttribute("warning", "connector.keyPass.warning");  
                 
-                attribute = "keystoreType";
                 String keyType = cform.getKeyStoreType();
                 if ((keyType != null) && (keyType.length()>0)) 
                     mBServer.setAttribute(coname,
                               new Attribute("keystoreType", keyType));   
                 
-                attribute = "sslProtocol";
+                String trustFile = cform.getTrustStoreFileName();
+                if ((trustFile != null) && (trustFile.length()>0)) 
+                    mBServer.setAttribute(coname,
+                              new Attribute("trustStoreFile", trustFile));            
+                
+                String trustPass = cform.getTrustStorePassword();
+                if ((trustPass != null) && (trustPass.length()>0)) 
+                    mBServer.setAttribute(coname,
+                              new Attribute("trustStorePass", trustPass));                 
+                
+                String trustType = cform.getTrustStoreType();
+                if ((trustType != null) && (trustType.length()>0)) 
+                    mBServer.setAttribute(coname,
+                              new Attribute("trustStoreType", trustType));   
+                
                 String sslProtocol = cform.getSslProtocol();
                 if ((sslProtocol != null) && (sslProtocol.length()>0)) 
                     mBServer.setAttribute(coname,

Deleted: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/patch.txt
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/patch.txt	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/patch.txt	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,52 +0,0 @@
-Index: EditConnectorAction.java
-===================================================================
---- EditConnectorAction.java	(revision 379367)
-+++ EditConnectorAction.java	(working copy)
-@@ -21,6 +21,7 @@
- import java.util.List;
- import java.util.Locale;
- import java.util.ArrayList;
-+import java.net.Inet4Address;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-@@ -80,12 +81,12 @@
-                                  HttpServletRequest request,
-                                  HttpServletResponse response)
-         throws IOException, ServletException {
--        
-+
-         // Acquire the resources that we need
-         HttpSession session = request.getSession();
-         Locale locale = getLocale(request);
-         MessageResources resources = getResources(request);
--        
-+
-         // Acquire a reference to the MBeanServer containing our MBeans
-         try {
-             mBServer = ((ApplicationServlet) getServlet()).getServer();
-@@ -121,7 +122,7 @@
-         connectorFm.setNodeLabel(sb.toString());
-         connectorFm.setBooleanVals(Lists.getBooleanValues());        
-         connectorFm.setClientAuthVals(Lists.getClientAuthValues());
--        
-+
-         String attribute = null;
-         try {
- 
-@@ -168,10 +169,11 @@
-                 (String.valueOf(mBServer.getAttribute(cname, attribute)));            
-             attribute = "enableLookups";
-             connectorFm.setEnableLookups
--                (String.valueOf(mBServer.getAttribute(cname, attribute)));            
-+                (String.valueOf(mBServer.getAttribute(cname, attribute)));
-             attribute = "address";
--            connectorFm.setAddress
--                ((String) mBServer.getAttribute(cname, attribute));          
-+            Inet4Address inet4Address =
-+                    (Inet4Address) mBServer.getAttribute(cname, attribute);
-+            connectorFm.setAddress(inet4Address.getHostAddress());
-             attribute = "maxKeepAliveRequests";
-             connectorFm.setMaxKeepAliveText
-                 (String.valueOf(mBServer.getAttribute(cname, attribute)));   
-

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/AddContextAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/AddContextAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/AddContextAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,6 @@
 package org.apache.webapp.admin.context;
 
 import java.io.IOException;
-import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -26,14 +26,14 @@
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.Lists;
 import org.apache.webapp.admin.TomcatTreeBuilder;
+
 /**
  * The <code>Action</code> that sets up <em>Add Context</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 413761 $ $Date: 2006-06-12 18:04:18 -0500 (Mon, 12 Jun 2006) $
+ * @version $Revision: 479033 $ $Date: 2006-11-24 16:00:06 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class AddContextAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/ContextForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/ContextForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/ContextForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,17 +19,18 @@
 package org.apache.webapp.admin.context;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+
 import java.util.List;
 
 /**
  * Form bean for the context page.
  *
  * @author Manveen Kaur
- * @version $Revision: 303641 $ $Date: 2005-01-14 17:55:41 -0600 (Fri, 14 Jan 2005) $
+ * @version $Revision: 479033 $ $Date: 2006-11-24 16:00:06 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class ContextForm extends ActionForm {
@@ -704,39 +706,27 @@
         
         errors = new ActionErrors();
         
-        String submit = request.getParameter("submit");
-        
         // front end validation when save is clicked.
-        //if (submit != null) {
             
-            // docBase cannot be null
-            if ((docBase == null) || (docBase.length() < 1)) {
-                errors.add("docBase", new ActionError("error.docBase.required"));
-            }
-            
-            // if path is empty, it's root context
-            // validate context starting with "/" only at the time of context creation.
-            if ("Create".equalsIgnoreCase(adminAction) && !path.startsWith("/")) {
-                errors.add("path", new ActionError("error.path.prefix"));                
-            }
+        // docBase cannot be null
+        if ((docBase == null) || (docBase.length() < 1)) {
+            errors.add("docBase", new ActionMessage("error.docBase.required"));
+        }
+        
+        // if path is empty, it's root context
+        // validate context starting with "/" only at the time of context creation.
+        if ("Create".equalsIgnoreCase(adminAction) && !path.startsWith("/")) {
+            errors.add("path", new ActionMessage("error.path.prefix"));                
+        }
                         
-            //if ((workDir == null) || (workDir.length() < 1)) {
-            //    errors.add("workDir", new ActionError("error.workDir.required"));
-            //}
-            
-            // loader properties
-            // FIXME-- verify if these ranges are ok.
-            numberCheck("ldrCheckInterval", ldrCheckInterval  , true, 0, 10000);
-            
-            // session manager properties            
-            numberCheck("mgrCheckInterval",  mgrCheckInterval, true, 0, 10000);
-            numberCheck("mgrMaxSessions",  mgrMaxSessions, false, -1, 100);
-            
-            //if ((mgrSessionIDInit == null) || (mgrSessionIDInit.length() < 1)) {
-            //    errors.add("mgrSessionIDInit", new ActionError("error.mgrSessionIDInit.required"));
-            //}
-        //}
+        // loader properties
+        // FIXME-- verify if these ranges are ok.
+        numberCheck("ldrCheckInterval", ldrCheckInterval  , true, 0, 10000);
         
+        // session manager properties            
+        numberCheck("mgrCheckInterval",  mgrCheckInterval, true, 0, 10000);
+        numberCheck("mgrMaxSessions",  mgrMaxSessions, false, -1, 100);
+        
         return errors;
     }
     
@@ -758,7 +748,7 @@
         
         // Check for 'is required'
         if ((numText == null) || (numText.length() < 1)) {
-            errors.add(field, new ActionError("error."+field+".required"));
+            errors.add(field, new ActionMessage("error."+field+".required"));
         } else {
             
             // check for 'must be a number' in the 'valid range'
@@ -768,11 +758,11 @@
                 if (rangeCheck) {
                     if ((num < min) || (num > max ))
                         errors.add( field,
-                        new ActionError("error."+ field +".range"));
+                        new ActionMessage("error."+ field +".range"));
                 }
             } catch (NumberFormatException e) {
                 errors.add(field,
-                new ActionError("error."+ field + ".format"));
+                new ActionMessage("error."+ field + ".format"));
             }
         }
     }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/ContextsForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/ContextsForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/ContextsForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * Form bean for deleting contexts.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ContextsForm extends ActionForm {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,6 @@
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
@@ -41,7 +41,7 @@
  * The <code>Action</code> that sets up <em>Delete Contexts</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303641 $ $Date: 2005-01-14 17:55:41 -0600 (Fri, 14 Jan 2005) $
+ * @version $Revision: 479033 $ $Date: 2006-11-24 16:00:06 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class DeleteContextAction extends Action {
@@ -78,7 +78,6 @@
         
 
         // Acquire the resources that we need
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         MessageResources resources = getResources(request);
         

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextsAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextsAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -42,7 +43,7 @@
  * transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303641 $ $Date: 2005-01-14 17:55:41 -0600 (Fri, 14 Jan 2005) $
+ * @version $Revision: 479033 $ $Date: 2006-11-24 16:00:06 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class DeleteContextsAction extends Action {
@@ -117,7 +118,6 @@
                 if (control != null) {
                     control.selectNode(null);
                     TreeControlNode node = control.findNode(contexts[i]);
-                    String domain = node.getDomain();
                     ObjectName fname = TomcatTreeBuilder.getMBeanFactory();
                     mBServer.invoke(fname, operation,
                                 values, removeContextTypes);

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/EditContextAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/EditContextAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/EditContextAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -38,7 +39,7 @@
  * The <code>Action</code> that sets up <em>Edit Context</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303641 $ $Date: 2005-01-14 17:55:41 -0600 (Fri, 14 Jan 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class EditContextAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/SaveContextAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/SaveContextAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/SaveContextAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -29,11 +30,11 @@
 import javax.servlet.http.HttpSession;
 import org.apache.commons.modeler.Registry;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 import org.apache.webapp.admin.TomcatTreeBuilder;
@@ -41,13 +42,12 @@
 import org.apache.webapp.admin.TreeControlNode;
 
 
-
 /**
  * The <code>Action</code> that completes <em>Add Context</em> and
  * <em>Edit Context</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303641 $ $Date: 2005-01-14 17:55:41 -0600 (Fri, 14 Jan 2005) $
+ * @version $Revision: 479033 $ $Date: 2006-11-24 16:00:06 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SaveContextAction extends Action {
@@ -159,9 +159,9 @@
                                     ",J2EEApplication=none,J2EEServer=none");                   
                 
                 if (mBServer.isRegistered(oname)) {
-                    ActionErrors errors = new ActionErrors();
+                    ActionMessages errors = new ActionMessages();
                     errors.add("contextName",
-                               new ActionError("error.contextName.exists"));
+                               new ActionMessage("error.contextName.exists"));
                     saveErrors(request, errors);
                     return (new ActionForward(mapping.getInput()));
                 }
@@ -207,7 +207,8 @@
                     values[0] = cObjectName;
                     mBServer.invoke(fname, operation, values, 
                         removeContextTypes);
-                    Registry.getRegistry().unregisterComponent(new ObjectName(cObjectName));
+                    Registry.getRegistry(null, null).unregisterComponent(
+                            new ObjectName(cObjectName));
                     request.setAttribute("warning", "error.context.directory");
                     return (mapping.findForward("Save Unsuccessful"));
                 }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/filters/SetCharacterEncodingFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/filters/SetCharacterEncodingFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/filters/SetCharacterEncodingFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,6 @@
 import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
-import javax.servlet.UnavailableException;
 
 
 /**
@@ -54,7 +54,7 @@
  * user's session.</p>
  *
  * @author Craig McClanahan
- * @version $Revision: 303019 $ $Date: 2004-07-23 09:02:17 -0500 (Fri, 23 Jul 2004) $
+ * @version $Revision: 479034 $ $Date: 2006-11-24 16:00:37 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class SetCharacterEncodingFilter implements Filter {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AddAliasAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AddAliasAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AddAliasAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,21 +27,18 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.LabelValueBean;
-import org.apache.webapp.admin.Lists;
 import javax.management.ObjectName;
 
 /**
  * The <code>Action</code> that sets up <em>Add Alias</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479035 $ $Date: 2006-11-24 16:00:53 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class AddAliasAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AddHostAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AddHostAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AddHostAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,26 +18,21 @@
 package org.apache.webapp.admin.host;
 
 import java.io.IOException;
-import java.util.Locale;
-import java.util.ArrayList;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import org.apache.struts.util.MessageResources;
-import org.apache.webapp.admin.LabelValueBean;
 import org.apache.webapp.admin.Lists;
 
 /**
  * The <code>Action</code> that sets up <em>Add Host</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479035 $ $Date: 2006-11-24 16:00:53 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class AddHostAction extends Action {
@@ -66,8 +62,6 @@
 
         // Acquire the resources that we need
         HttpSession session = request.getSession();
-        Locale locale = getLocale(request);
-        MessageResources resources = getResources(request);
 
         // the service Name is needed to retrieve the engine mBean to
         // which the new host mBean will be added.

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AliasForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AliasForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AliasForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,17 +19,18 @@
 package org.apache.webapp.admin.host;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+
 import java.util.List;
 
 /**
  * Form bean for the alias page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479035 $ $Date: 2006-11-24 16:00:53 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class AliasForm extends ActionForm {
@@ -149,17 +151,13 @@
         
         ActionErrors errors = new ActionErrors();
         
-        String submit = request.getParameter("submit");
-        
         // front end validation when save is clicked.
-        //if (submit != null) {
-            
-            // aliasName cannot be null
-            if ((aliasName== null) || (aliasName.length() < 1)) {
-                errors.add("aliasName", new ActionError("error.aliasName.required"));
-            }
+        // aliasName cannot be null
+        if ((aliasName== null) || (aliasName.length() < 1)) {
+            errors.add("aliasName",
+                    new ActionMessage("error.aliasName.required"));
+        }
                         
-        //}        
         return errors;       
     }
     

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AliasesForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AliasesForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AliasesForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
  * Form bean for deleting aliases.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class AliasesForm extends ActionForm {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,40 +20,28 @@
 
 import java.io.IOException;
 import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Arrays;
 import java.util.Locale;
-import java.util.TreeSet;
-import java.util.Set;
 import java.util.ArrayList;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import org.apache.struts.util.MessageResources;
 
 import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.TomcatTreeBuilder;
 
 /**
  * The <code>Action</code> that sets up <em>Delete Aliases</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479035 $ $Date: 2006-11-24 16:00:53 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class DeleteAliasAction extends Action {
@@ -89,7 +78,6 @@
         
 
         // Acquire the resources that we need
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         MessageResources resources = getResources(request);
         

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -16,15 +17,13 @@
 
 package org.apache.webapp.admin.host;
 
-import javax.servlet.http.HttpServletRequest;
 import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionMapping;
 
 /**
  * Form bean for the "Delete Alias" page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479035 $ $Date: 2006-11-24 16:00:53 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class DeleteAliasForm extends ActionForm {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasesAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasesAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,17 +19,10 @@
 package org.apache.webapp.admin.host;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
-import java.util.Set;
-import java.util.TreeSet;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
-import javax.management.ObjectInstance;
-import javax.management.modelmbean.ModelMBean;
 import javax.servlet.ServletException;
-import javax.servlet.http.HttpSession;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import org.apache.struts.action.Action;
@@ -44,7 +38,7 @@
  * transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479035 $ $Date: 2006-11-24 16:00:53 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class DeleteAliasesAction extends Action {
@@ -90,7 +84,6 @@
         
         
         // Look up the components we will be using as needed
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         MessageResources resources = getResources(request);
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,28 +21,18 @@
 import java.io.IOException;
 import java.util.Collections;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Locale;
-import java.util.TreeSet;
-import java.util.Set;
 import java.util.ArrayList;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import org.apache.struts.util.MessageResources;
 
 import org.apache.webapp.admin.ApplicationServlet;
@@ -52,7 +43,7 @@
  * The <code>Action</code> that sets up <em>Delete Hosts</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479035 $ $Date: 2006-11-24 16:00:53 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class DeleteHostAction extends Action {
@@ -89,7 +80,6 @@
         
 
         // Acquire the resources that we need
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         MessageResources resources = getResources(request);
         

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostsAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostsAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,15 +19,9 @@
 package org.apache.webapp.admin.host;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
-import java.util.Set;
-import java.util.TreeSet;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
-import javax.management.ObjectInstance;
-import javax.management.modelmbean.ModelMBean;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpSession;
 import javax.servlet.http.HttpServletRequest;
@@ -48,7 +43,7 @@
  * transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303664 $ $Date: 2005-01-29 13:36:06 -0600 (Sat, 29 Jan 2005) $
+ * @version $Revision: 479035 $ $Date: 2006-11-24 16:00:53 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class DeleteHostsAction extends Action {
@@ -126,7 +121,6 @@
                 if (control != null) {
                     control.selectNode(null);
                     TreeControlNode node = control.findNode(hosts[i]);
-                    String domain = node.getDomain();
                     ObjectName fname = TomcatTreeBuilder.getMBeanFactory();
                     mBServer.invoke(fname, operation,
                                 values, removeHostTypes);

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/EditHostAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/EditHostAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/EditHostAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,8 +18,6 @@
 package org.apache.webapp.admin.host;
 
 import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Locale;
 import java.util.Arrays;
 import java.util.ArrayList;
@@ -27,27 +26,22 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 import org.apache.struts.util.MessageResources;
 
 import javax.management.MBeanServer;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 
 import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.LabelValueBean;
 import org.apache.webapp.admin.Lists;
-import org.apache.webapp.admin.TomcatTreeBuilder;
 
 /**
  * The <code>Action</code> that sets up <em>Edit Host</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479035 $ $Date: 2006-11-24 16:00:53 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class EditHostAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/HostForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/HostForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/HostForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,17 +19,18 @@
 package org.apache.webapp.admin.host;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+
 import java.util.List;
 
 /**
  * Form bean for the host page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302986 $ $Date: 2004-06-27 21:14:52 -0500 (Sun, 27 Jun 2004) $
+ * @version $Revision: 479035 $ $Date: 2006-11-24 16:00:53 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class HostForm extends ActionForm {
@@ -86,11 +88,6 @@
      */
     private String unpackWARs = "false";
 
-    /**
-     * The text for the port. -- TBD
-     */
-    private String findAliases = null;
-
     /*
      * Represent boolean (true, false) values for unpackWARs etc.
      */
@@ -441,22 +438,17 @@
 
         ActionErrors errors = new ActionErrors();
 
-        String submit = request.getParameter("submit");
-
         // front end validation when save is clicked.
-        //if (submit != null) {
+        // hostName cannot be null
+        if ((hostName== null) || (hostName.length() < 1)) {
+            errors.add("hostName", new ActionMessage("error.hostName.required"));
+        }
 
-            // hostName cannot be null
-            if ((hostName== null) || (hostName.length() < 1)) {
-                errors.add("hostName", new ActionError("error.hostName.required"));
-            }
+        // appBase cannot be null
+        if ((appBase == null) || (appBase.length() < 1)) {
+            errors.add("appBase", new ActionMessage("error.appBase.required"));
+        }
 
-            // appBase cannot be null
-            if ((appBase == null) || (appBase.length() < 1)) {
-                errors.add("appBase", new ActionError("error.appBase.required"));
-            }
-
-        //}
         return errors;
 
     }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/HostsForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/HostsForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/HostsForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * Form bean for deleting hosts.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class HostsForm extends ActionForm {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveAliasAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveAliasAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveAliasAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -16,43 +17,30 @@
 
 package org.apache.webapp.admin.host;
 
-import java.net.URLEncoder;
-import java.util.Iterator;
 import java.util.Locale;
 import java.util.List;
 import java.io.IOException;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.TomcatTreeBuilder;
-import org.apache.webapp.admin.TreeControl;
-import org.apache.webapp.admin.TreeControlNode;
 
-
-
 /**
  * The <code>Action</code> that completes <em>Add Alias</em> and
  * <em>Edit Alias</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479035 $ $Date: 2006-11-24 16:00:53 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SaveAliasAction extends Action {
@@ -125,9 +113,9 @@
         // validate if this alias already exists.
         List aliasVals = aform.getAliasVals();
         if (aliasVals.contains(values[0])) {
-           ActionErrors errors = new ActionErrors();
+            ActionMessages errors = new ActionMessages();
             errors.add("aliasName",
-                       new ActionError("error.aliasName.exists"));
+                       new ActionMessage("error.aliasName.exists"));
             saveErrors(request, errors);
             return (new ActionForward(mapping.getInput()));
         }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveHostAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveHostAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveHostAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,27 +19,21 @@
 
 
 import java.net.URLEncoder;
-import java.util.Iterator;
 import java.util.Locale;
 import java.io.IOException;
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 import org.apache.webapp.admin.TomcatTreeBuilder;
@@ -52,7 +47,7 @@
  * <em>Edit Host</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303664 $ $Date: 2005-01-29 13:36:06 -0600 (Sat, 29 Jan 2005) $
+ * @version $Revision: 479035 $ $Date: 2006-11-24 16:00:53 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SaveHostAction extends Action {
@@ -140,9 +135,9 @@
                                    TomcatTreeBuilder.HOST_TYPE +
                                    ",host=" + hform.getHostName());
                 if (mBServer.isRegistered(oname)) {
-                    ActionErrors errors = new ActionErrors();
+                    ActionMessages errors = new ActionMessages();
                     errors.add("hostName",
-                               new ActionError("error.hostName.exists"));
+                               new ActionMessage("error.hostName.exists"));
                     saveErrors(request, errors);
                     return (new ActionForward(mapping.getInput()));
                 }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/AddRealmAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/AddRealmAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/AddRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,18 +19,15 @@
 
 import java.io.IOException;
 import java.net.URLEncoder;
-import java.util.Locale;
 import java.util.ArrayList;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.TomcatTreeBuilder;
 import org.apache.webapp.admin.LabelValueBean;
 import org.apache.webapp.admin.Lists;
@@ -38,7 +36,7 @@
  * The <code>Action</code> that sets up <em>Add Realm</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479037 $ $Date: 2006-11-24 16:01:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class AddRealmAction extends Action {
@@ -71,10 +69,8 @@
 
         // Acquire the resources that we need
         HttpSession session = request.getSession();
-        Locale locale = getLocale(request);
-        MessageResources resources = getResources(request);
-        // Fill in the form values for display and editing
 
+        // Fill in the form values for display and editing
         String realmTypes[] = new String[5];
         realmTypes[0] = "UserDatabaseRealm";
         realmTypes[1] = "JNDIRealm";

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DataSourceRealmForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DataSourceRealmForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DataSourceRealmForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,21 +18,17 @@
 package org.apache.webapp.admin.realm;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
-import java.net.InetAddress;
+import org.apache.struts.action.ActionMessage;
+
 import java.util.List;
 
-import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.LabelValueBean;
-
 /**
  * Form bean for the datasource realm page.
  *
  * @author Amy Roh
- * @version $Revision: 302986 $ $Date: 2004-06-27 21:14:52 -0500 (Sun, 27 Jun 2004) $
+ * @version $Revision: 479037 $ $Date: 2006-11-24 16:01:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class DataSourceRealmForm extends RealmForm {
@@ -319,44 +316,36 @@
         
         ActionErrors errors = new ActionErrors();
         
-        String submit = request.getParameter("submit");
-        //String type = request.getParameter("realmType");
-        
         // front end validation when save is clicked.        
-         //if (submit != null) {
-             // the following fields are required.
-            
-            if ((dataSourceName == null) || (dataSourceName.length() < 1)) {
-                errors.add("dataSourceName",
-                new ActionError("error.dataSourceName.required"));
-            }
-         
-            if ((roleNameCol == null) || (roleNameCol.length() < 1)) {
-                errors.add("roleNameCol",
-                new ActionError("error.roleNameCol.required"));
-            }
+        if ((dataSourceName == null) || (dataSourceName.length() < 1)) {
+            errors.add("dataSourceName",
+            new ActionMessage("error.dataSourceName.required"));
+        }
+     
+        if ((roleNameCol == null) || (roleNameCol.length() < 1)) {
+            errors.add("roleNameCol",
+            new ActionMessage("error.roleNameCol.required"));
+        }
 
-            if ((userCredCol == null) || (userCredCol.length() < 1)) {
-                errors.add("userCredCol",
-                new ActionError("error.userCredCol.required"));
-            }
+        if ((userCredCol == null) || (userCredCol.length() < 1)) {
+            errors.add("userCredCol",
+            new ActionMessage("error.userCredCol.required"));
+        }
+    
+        if ((userNameCol == null) || (userNameCol.length() < 1)) {
+            errors.add("userNameCol",
+            new ActionMessage("error.userNameCol.required"));
+        }
         
-            if ((userNameCol == null) || (userNameCol.length() < 1)) {
-                errors.add("userNameCol",
-                new ActionError("error.userNameCol.required"));
-            }
-            
-            if ((userRoleTable == null) || (userRoleTable.length() < 1)) {
-                errors.add("userRoleTable",
-                new ActionError("error.userRoleTable.required"));
-            }
-        
-            if ((userTable == null) || (userTable.length() < 1)) {
-                errors.add("userTable",
-                new ActionError("error.userTable.required"));
-            }
-            
-        //}
+        if ((userRoleTable == null) || (userRoleTable.length() < 1)) {
+            errors.add("userRoleTable",
+            new ActionMessage("error.userRoleTable.required"));
+        }
+    
+        if ((userTable == null) || (userTable.length() < 1)) {
+            errors.add("userTable",
+            new ActionMessage("error.userTable.required"));
+        }
                  
         return errors;
     }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,28 +21,18 @@
 import java.io.IOException;
 import java.util.Collections;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Locale;
-import java.util.TreeSet;
-import java.util.Set;
 import java.util.ArrayList;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import org.apache.struts.util.MessageResources;
 
 import org.apache.webapp.admin.ApplicationServlet;
@@ -52,7 +43,7 @@
  * The <code>Action</code> that sets up <em>Delete Realms</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479037 $ $Date: 2006-11-24 16:01:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class DeleteRealmAction extends Action {
@@ -89,7 +80,6 @@
         
         
         // Acquire the resources that we need
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         MessageResources resources = getResources(request);
         

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmsAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmsAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,15 +19,9 @@
 package org.apache.webapp.admin.realm;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
-import java.util.Set;
-import java.util.TreeSet;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
-import javax.management.ObjectInstance;
-import javax.management.modelmbean.ModelMBean;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpSession;
 import javax.servlet.http.HttpServletRequest;
@@ -48,7 +43,7 @@
  * transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479037 $ $Date: 2006-11-24 16:01:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class DeleteRealmsAction extends Action {
@@ -121,7 +116,6 @@
                 if (control != null) {
                     control.selectNode(null);
                     TreeControlNode node = control.findNode(realms[i]);
-                    String domain = node.getDomain();
                     ObjectName fname = 
                         TomcatTreeBuilder.getMBeanFactory();
                     mBServer.invoke(fname, operation,

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/EditRealmAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/EditRealmAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/EditRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,37 +18,29 @@
 package org.apache.webapp.admin.realm;
 
 import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Locale;
-import java.util.ArrayList;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 import org.apache.struts.util.MessageResources;
 
 import javax.management.MBeanServer;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 
 import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.LabelValueBean;
 import org.apache.webapp.admin.Lists;
-import org.apache.webapp.admin.TomcatTreeBuilder;
 
 /**
  * A generic <code>Action</code> that sets up <em>Edit
  * Realm </em> transactions, based on the type of Realm.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479037 $ $Date: 2006-11-24 16:01:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class EditRealmAction extends Action {
@@ -83,7 +76,6 @@
         throws IOException, ServletException {
 
         // Acquire the resources that we need
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         MessageResources resources = getResources(request);
 
@@ -97,7 +89,6 @@
 
         // Set up the object names of the MBeans we are manipulating
         ObjectName rname = null;
-        StringBuffer sb = null;
         try {
             rname = new ObjectName(request.getParameter("select"));
         } catch (Exception e) {
@@ -456,13 +447,10 @@
      boolean retVal = true;
      try{
         // admin app's values
-        String adminService = Lists.getAdminAppService(
-                              mBServer, rname.getDomain(),request);
         String adminHost = request.getServerName();
         String adminContext = request.getContextPath();
 
         //String thisService = rname.getKeyProperty("service");
-        String domain = rname.getDomain();
         String thisHost = rname.getKeyProperty("host");
         String thisContext = rname.getKeyProperty("path");
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/JDBCRealmForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/JDBCRealmForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/JDBCRealmForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,21 +18,15 @@
 package org.apache.webapp.admin.realm;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
-import java.net.InetAddress;
-import java.util.List;
+import org.apache.struts.action.ActionMessage;
 
-import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.LabelValueBean;
-
 /**
  * Form bean for the jdbc realm page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302986 $ $Date: 2004-06-27 21:14:52 -0500 (Sun, 27 Jun 2004) $
+ * @version $Revision: 479037 $ $Date: 2006-11-24 16:01:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class JDBCRealmForm extends RealmForm {
@@ -39,12 +34,6 @@
     // ----------------------------------------------------- Instance Variables
     
     /**
-     * The text for the realm name, used to retrieve
-     * the corresponding realm mBean.
-     */
-    private String realmName = null;
-      
-    /**
      * The text for the digest.
      */
     private String digest = null;
@@ -357,58 +346,51 @@
         
         ActionErrors errors = new ActionErrors();
         
-        String submit = request.getParameter("submit");
-        //String type = request.getParameter("realmType");
-        
         // front end validation when save is clicked.        
-         //if (submit != null) {
-             // the following fields are required.
-            
-            if ((driver == null) || (driver.length() < 1)) {
-                errors.add("driver",
-                new ActionError("error.driver.required"));
-            }
-         
-            if ((roleNameCol == null) || (roleNameCol.length() < 1)) {
-                errors.add("roleNameCol",
-                new ActionError("error.roleNameCol.required"));
-            }
+        if ((driver == null) || (driver.length() < 1)) {
+            errors.add("driver",
+            new ActionMessage("error.driver.required"));
+        }
+     
+        if ((roleNameCol == null) || (roleNameCol.length() < 1)) {
+            errors.add("roleNameCol",
+            new ActionMessage("error.roleNameCol.required"));
+        }
 
-            if ((userNameCol == null) || (userNameCol.length() < 1)) {
-                errors.add("userNameCol",
-                new ActionError("error.userNameCol.required"));
-            }
+        if ((userNameCol == null) || (userNameCol.length() < 1)) {
+            errors.add("userNameCol",
+            new ActionMessage("error.userNameCol.required"));
+        }
 
-             if ((passwordCol == null) || (passwordCol.length() < 1)) {
-                errors.add("passwordCol",
-                new ActionError("error.passwordCol.required"));
-            }
+        if ((passwordCol == null) || (passwordCol.length() < 1)) {
+            errors.add("passwordCol",
+            new ActionMessage("error.passwordCol.required"));
+        }
             
-            if ((userTable == null) || (userTable.length() < 1)) {
-                errors.add("userTable",
-                new ActionError("error.userTable.required"));
-            }
+        if ((userTable == null) || (userTable.length() < 1)) {
+            errors.add("userTable",
+            new ActionMessage("error.userTable.required"));
+        }
             
-            if ((roleTable == null) || (roleTable.length() < 1)) {
-                errors.add("roleTable",
-                new ActionError("error.roleTable.required"));
-            }
-            
-            if ((connectionName == null) || (connectionName.length() < 1)) {
-                errors.add("connectionName",
-                new ActionError("error.connectionName.required"));
-            }
-            
-            if ((connectionPassword == null) || (connectionPassword.length() < 1)) {
-                errors.add("connectionPassword",
-                new ActionError("error.connectionPassword.required"));
-            }
-            
-             if ((connectionURL == null) || (connectionURL.length() < 1)) {
-                errors.add("connectionURL",
-                new ActionError("error.connectionURL.required"));
-            }
-        //}
+        if ((roleTable == null) || (roleTable.length() < 1)) {
+            errors.add("roleTable",
+            new ActionMessage("error.roleTable.required"));
+        }
+        
+        if ((connectionName == null) || (connectionName.length() < 1)) {
+            errors.add("connectionName",
+            new ActionMessage("error.connectionName.required"));
+        }
+        
+        if ((connectionPassword == null) || (connectionPassword.length() < 1)) {
+            errors.add("connectionPassword",
+            new ActionMessage("error.connectionPassword.required"));
+        }
+        
+        if ((connectionURL == null) || (connectionURL.length() < 1)) {
+            errors.add("connectionURL",
+            new ActionMessage("error.connectionURL.required"));
+        }
                  
         return errors;
     }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/JNDIRealmForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/JNDIRealmForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/JNDIRealmForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,21 +18,17 @@
 package org.apache.webapp.admin.realm;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
-import java.net.InetAddress;
+import org.apache.struts.action.ActionMessage;
+
 import java.util.List;
 
-import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.LabelValueBean;
-
 /**
  * Form bean for the JNDI realm page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302986 $ $Date: 2004-06-27 21:14:52 -0500 (Sun, 27 Jun 2004) $
+ * @version $Revision: 479037 $ $Date: 2006-11-24 16:01:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class JNDIRealmForm extends RealmForm {
@@ -505,93 +502,89 @@
 
         ActionErrors errors = new ActionErrors();
 
-        String submit = request.getParameter("submit");
-
         // front end validation when save is clicked.
-        //if (submit != null) {
-            // the following fields are required.
+        // the following fields are required.
 
-            if ((connectionURL == null) || (connectionURL.length() < 1)) {
-                errors.add("connectionURL",
-                new ActionError("error.connURL.required"));
-            }
+        if ((connectionURL == null) || (connectionURL.length() < 1)) {
+            errors.add("connectionURL",
+            new ActionMessage("error.connURL.required"));
+        }
 
-            // Either userPattern or userSearch should be specified not both
-            boolean isUserPatternSpecified = false;
-            boolean isUserSearchSpecified = false;
-            if ((userPattern != null) && (userPattern.length() > 0)) {
-                isUserPatternSpecified = true;
-            }
+        // Either userPattern or userSearch should be specified not both
+        boolean isUserPatternSpecified = false;
+        boolean isUserSearchSpecified = false;
+        if ((userPattern != null) && (userPattern.length() > 0)) {
+            isUserPatternSpecified = true;
+        }
 
-            if ((userSearch != null) && (userSearch.length() > 0)) {
-                isUserSearchSpecified = true;
-            }
+        if ((userSearch != null) && (userSearch.length() > 0)) {
+            isUserSearchSpecified = true;
+        }
 
-            if (isUserPatternSpecified && isUserSearchSpecified) {
-                errors.add("userPattern" ,
-                new ActionError("error.userPattern.userSearch.defined"));
-            }
+        if (isUserPatternSpecified && isUserSearchSpecified) {
+            errors.add("userPattern" ,
+            new ActionMessage("error.userPattern.userSearch.defined"));
+        }
 
-            /*if ((digest == null) || (digest.length() < 1)) {
-                errors.add("digest",
-                new ActionError("error.digest.required"));
-            } */
+        /*if ((digest == null) || (digest.length() < 1)) {
+            errors.add("digest",
+            new ActionMessage("error.digest.required"));
+        } */
 
-            /*if ((roleName == null) || (roleName.length() < 1)) {
-                errors.add("roleName",
-                new ActionError("error.roleName.required"));
-            }
+        /*if ((roleName == null) || (roleName.length() < 1)) {
+            errors.add("roleName",
+            new ActionMessage("error.roleName.required"));
+        }
 
-            if ((userRoleName == null) || (userRoleName.length() < 1)) {
-                errors.add("userRoleName",
-                new ActionError("error.userRoleName.required"));
-            }
+        if ((userRoleName == null) || (userRoleName.length() < 1)) {
+            errors.add("userRoleName",
+            new ActionMessage("error.userRoleName.required"));
+        }
 
-            if ((rolePattern == null) || (rolePattern.length() < 1)) {
-                errors.add("rolePattern",
-                new ActionError("error.rolePattern.required"));
-            }
+        if ((rolePattern == null) || (rolePattern.length() < 1)) {
+            errors.add("rolePattern",
+            new ActionMessage("error.rolePattern.required"));
+        }
 
-            if ((roleBase == null) || (roleBase.length() < 1)) {
-                errors.add("roleBase",
-                new ActionError("error.roleBase.required"));
-            }
+        if ((roleBase == null) || (roleBase.length() < 1)) {
+            errors.add("roleBase",
+            new ActionMessage("error.roleBase.required"));
+        }
 
-            if ((userBase == null) || (userBase.length() < 1)) {
-                errors.add("userBase",
-                new ActionError("error.userBase.required"));
-            }
+        if ((userBase == null) || (userBase.length() < 1)) {
+            errors.add("userBase",
+            new ActionMessage("error.userBase.required"));
+        }
 
-            if ((userPassword == null) || (userPassword.length() < 1)) {
-                errors.add("userPassword",
-                new ActionError("error.userPassword.required"));
-            }
+        if ((userPassword == null) || (userPassword.length() < 1)) {
+            errors.add("userPassword",
+            new ActionMessage("error.userPassword.required"));
+        }
 
-            if ((userPattern == null) || (userPattern.length() < 1)) {
-                errors.add("userPattern",
-                new ActionError("error.userPattern.required"));
-            }
+        if ((userPattern == null) || (userPattern.length() < 1)) {
+            errors.add("userPattern",
+            new ActionMessage("error.userPattern.required"));
+        }
 
-            if ((userSearch == null) || (userSearch.length() < 1)) {
-                errors.add("userSearch",
-                new ActionError("error.userSearch.required"));
-            }
+        if ((userSearch == null) || (userSearch.length() < 1)) {
+            errors.add("userSearch",
+            new ActionMessage("error.userSearch.required"));
+        }
 
-            if ((connectionName == null) || (connectionName.length() < 1)) {
-                errors.add("connectionName",
-                new ActionError("error.connName.required"));
-            }
+        if ((connectionName == null) || (connectionName.length() < 1)) {
+            errors.add("connectionName",
+            new ActionMessage("error.connName.required"));
+        }
 
-            if ((connectionPassword == null) || (connectionPassword.length() < 1)) {
-                errors.add("connectionPassword",
-                new ActionError("error.connPassword.required"));
-            }
+        if ((connectionPassword == null) || (connectionPassword.length() < 1)) {
+            errors.add("connectionPassword",
+            new ActionMessage("error.connPassword.required"));
+        }
 
-            if ((contextFactory == null) || (contextFactory.length() < 1)) {
-                errors.add("contextFactory",
-                new ActionError("error.contextFactory.required"));
-            } */
-        //}
+        if ((contextFactory == null) || (contextFactory.length() < 1)) {
+            errors.add("contextFactory",
+            new ActionMessage("error.contextFactory.required"));
+        } */
 
         return errors;
     }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/MemoryRealmForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/MemoryRealmForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/MemoryRealmForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,21 +18,15 @@
 package org.apache.webapp.admin.realm;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
-import java.util.List;
-import java.util.Enumeration;
+import org.apache.struts.action.ActionMessage;
 
-import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.LabelValueBean;
-
 /**
  * Form bean for the memory realm page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302986 $ $Date: 2004-06-27 21:14:52 -0500 (Sun, 27 Jun 2004) $
+ * @version $Revision: 479037 $ $Date: 2006-11-24 16:01:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class MemoryRealmForm extends RealmForm {
@@ -112,15 +107,12 @@
         
         ActionErrors errors = new ActionErrors();
 
-        String submit = request.getParameter("submit");
-        
         // front end validation when save is clicked.
-        //if (submit != null) {
-            if ((pathName == null) || (pathName.length()<1)) {
-                errors.add("pathName",
-                new ActionError("error.pathName.required"));
-            }
-        //}        
+        if ((pathName == null) || (pathName.length()<1)) {
+            errors.add("pathName",
+            new ActionMessage("error.pathName.required"));
+        }
+
         return errors;
     }
 }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/RealmForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/RealmForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/RealmForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,21 +18,15 @@
 package org.apache.webapp.admin.realm;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
-import java.net.InetAddress;
 import java.util.List;
 
-import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.LabelValueBean;
-
 /**
  * Form bean for the generic realm page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302986 $ $Date: 2004-06-27 21:14:52 -0500 (Sun, 27 Jun 2004) $
+ * @version $Revision: 479037 $ $Date: 2006-11-24 16:01:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class RealmForm extends ActionForm {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/RealmsForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/RealmsForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/RealmsForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * Form bean for deleting realms.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class RealmsForm extends ActionForm {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveDataSourceRealmAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveDataSourceRealmAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveDataSourceRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,27 +19,21 @@
 
 
 import java.net.URLEncoder;
-import java.util.Iterator;
 import java.util.Locale;
 import java.io.IOException;
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 import org.apache.webapp.admin.TomcatTreeBuilder;
@@ -51,7 +46,7 @@
  * <em>Edit Realm</em> transactions for DataSource realm.
  *
  * @author Amy Roh
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479037 $ $Date: 2006-11-24 16:01:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SaveDataSourceRealmAction extends Action {
@@ -156,9 +151,9 @@
                 ObjectName oname =
                     new ObjectName(objectName);
                 if (mBServer.isRegistered(oname)) {
-                    ActionErrors errors = new ActionErrors();
+                    ActionMessages errors = new ActionMessages();
                     errors.add("realmName",
-                               new ActionError("error.realmName.exists"));
+                               new ActionMessage("error.realmName.exists"));
                     saveErrors(request, errors);
                     return (new ActionForward(mapping.getInput()));
                 }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJDBCRealmAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJDBCRealmAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJDBCRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,15 +19,10 @@
 
 
 import java.net.URLEncoder;
-import java.util.Iterator;
 import java.util.Locale;
 import java.io.IOException;
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
 import javax.management.JMException;
 import javax.servlet.ServletException;
@@ -34,11 +30,11 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 import org.apache.webapp.admin.TomcatTreeBuilder;
@@ -51,7 +47,7 @@
  * <em>Edit Realm</em> transactions for JDBC realm.
  *
  * @author Manveen Kaur
- * @version $Revision: 304016 $ $Date: 2005-07-22 08:47:53 -0500 (Fri, 22 Jul 2005) $
+ * @version $Revision: 479037 $ $Date: 2006-11-24 16:01:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SaveJDBCRealmAction extends Action {
@@ -154,9 +150,9 @@
                 ObjectName oname =
                     new ObjectName(objectName);
                 if (mBServer.isRegistered(oname)) {
-                    ActionErrors errors = new ActionErrors();
+                    ActionMessages errors = new ActionMessages();
                     errors.add("realmName",
-                               new ActionError("error.realmName.exists"));
+                               new ActionMessage("error.realmName.exists"));
                     saveErrors(request, errors);
                     return (new ActionForward(mapping.getInput()));
                 }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,27 +19,21 @@
 
 
 import java.net.URLEncoder;
-import java.util.Iterator;
 import java.util.Locale;
 import java.io.IOException;
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 import org.apache.webapp.admin.TomcatTreeBuilder;
@@ -52,7 +47,7 @@
  *
  * @author Manveen Kaur
  * @author Amy Roh
- * @version $Revision: 440749 $ $Date: 2006-09-06 11:06:18 -0500 (Wed, 06 Sep 2006) $
+ * @version $Revision: 479037 $ $Date: 2006-11-24 16:01:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SaveJNDIRealmAction extends Action {
@@ -65,9 +60,9 @@
      */
     private String createStandardRealmTypes[] =
     { "java.lang.String",     // parent
-      "java.lang.String", //Connection URL
-      "java.lang.String", //Connection name
-      "java.lang.String", //Connection password
+      "java.lang.String",     // connection URL
+      "java.lang.String",     // connection name
+      "java.lang.String",     // connection password
     };
 
 
@@ -154,9 +149,9 @@
                 ObjectName oname =
                     new ObjectName(objectName);
                 if (mBServer.isRegistered(oname)) {
-                    ActionErrors errors = new ActionErrors();
+                    ActionMessages errors = new ActionMessages();
                     errors.add("realmName",
-                               new ActionError("error.realmName.exists"));
+                               new ActionMessage("error.realmName.exists"));
                     saveErrors(request, errors);
                     return (new ActionForward(mapping.getInput()));
                 }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveMemoryRealmAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveMemoryRealmAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveMemoryRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,27 +19,21 @@
 
 
 import java.net.URLEncoder;
-import java.util.Iterator;
 import java.util.Locale;
 import java.io.IOException;
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 import org.apache.webapp.admin.TomcatTreeBuilder;
@@ -51,7 +46,7 @@
  * <em>Edit Realm</em> transactions for Memory realm.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479037 $ $Date: 2006-11-24 16:01:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SaveMemoryRealmAction extends Action {
@@ -150,9 +145,9 @@
                 ObjectName oname =
                     new ObjectName(objectName);
                 if (mBServer.isRegistered(oname)) {
-                    ActionErrors errors = new ActionErrors();
+                    ActionMessages errors = new ActionMessages();
                     errors.add("realmName",
-                               new ActionError("error.realmName.exists"));
+                               new ActionMessage("error.realmName.exists"));
                     saveErrors(request, errors);
                     return (new ActionForward(mapping.getInput()));
                 }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveUserDatabaseRealmAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveUserDatabaseRealmAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveUserDatabaseRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,27 +19,21 @@
 
 
 import java.net.URLEncoder;
-import java.util.Iterator;
 import java.util.Locale;
 import java.io.IOException;
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 import org.apache.webapp.admin.TomcatTreeBuilder;
@@ -51,7 +46,7 @@
  * <em>Edit Realm</em> transactions for UserDatabase realm.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479037 $ $Date: 2006-11-24 16:01:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SaveUserDatabaseRealmAction extends Action {
@@ -151,9 +146,9 @@
                 ObjectName oname =
                     new ObjectName(objectName);
                 if (mBServer.isRegistered(oname)) {
-                    ActionErrors errors = new ActionErrors();
+                    ActionMessages errors = new ActionMessages();
                     errors.add("realmName",
-                               new ActionError("error.realmName.exists"));
+                               new ActionMessage("error.realmName.exists"));
                     saveErrors(request, errors);
                     return (new ActionForward(mapping.getInput()));
                 }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/UserDatabaseRealmForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/UserDatabaseRealmForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/UserDatabaseRealmForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,21 +18,15 @@
 package org.apache.webapp.admin.realm;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
-import java.net.InetAddress;
-import java.util.List;
+import org.apache.struts.action.ActionMessage;
 
-import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.LabelValueBean;
-
 /**
  * Form bean for the User Database realm page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302986 $ $Date: 2004-06-27 21:14:52 -0500 (Sun, 27 Jun 2004) $
+ * @version $Revision: 479037 $ $Date: 2006-11-24 16:01:05 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class UserDatabaseRealmForm extends RealmForm {
@@ -113,15 +108,12 @@
         
         ActionErrors errors = new ActionErrors();
         
-        String submit = request.getParameter("submit");
-        
         // front end validation when save is clicked.
-        //if (submit != null) {
-            if ((resource == null) || (resource.length() < 1)) {
-                errors.add("resource",
-                new ActionError("error.resource.required"));
-            }
-        //}
+        if ((resource == null) || (resource.length() < 1)) {
+            errors.add("resource",
+            new ActionMessage("error.resource.required"));
+        }
+
         return errors;
     }
 }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/BaseForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/BaseForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/BaseForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,10 +18,7 @@
 package org.apache.webapp.admin.resources;
 
 
-import javax.management.ObjectName;
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
 
@@ -29,7 +27,7 @@
  * Base class for form beans for the resource administration.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DataSourceForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DataSourceForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DataSourceForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -16,21 +17,16 @@
 
 package org.apache.webapp.admin.resources;
 
-import java.util.List;
-import java.util.ArrayList;
-
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
-import org.apache.webapp.admin.LabelValueBean;
+import org.apache.struts.action.ActionMessage;
 
 /**
  * Form bean for the individual data source page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -295,58 +291,41 @@
 
         errors = new ActionErrors();
 
-        String submit = request.getParameter("submit");
+        // url is a required field
+        if ((url == null) || (url.length() < 1)) {
+            errors.add("url",
+                       new ActionMessage("resources.error.url.required"));
+        }
 
-        //if (submit != null) {
+        // jndiName is a required field
+        if (( jndiName == null) || (jndiName.length() < 1)) {
+            errors.add("jndiName",
+                       new ActionMessage("resources.error.jndiName.required"));
+        }
 
-            // url is a required field
-            if ((url == null) || (url.length() < 1)) {
-                errors.add("url",
-                           new ActionError("resources.error.url.required"));
-            }
+        // driverClass is a required field
+        if ((driverClass == null) || (driverClass.length() < 1)) {
+            errors.add("driverClass",
+                       new ActionMessage("resources.error.driverClass.required"));
+        }
+        
+        // FIX ME -- need to do a range check
+        numberCheck("active", active , false, 0, 10000);
+        numberCheck("idle", idle , false, 0, 10000);
+        numberCheck("wait", wait , false, 0, 10000);
 
-            // jndiName is a required field
-            if (( jndiName == null) || (jndiName.length() < 1)) {
-                errors.add("jndiName",
-                           new ActionError("resources.error.jndiName.required"));
-            }
+        // Quotes not allowed in username
+        if ((username != null) && (username.indexOf('"') >= 0)) {
+            errors.add("username",
+                       new ActionMessage("users.error.quotes"));
+        }
 
-            // driverClass is a required field
-            if ((driverClass == null) || (driverClass.length() < 1)) {
-                errors.add("driverClass",
-                           new ActionError("resources.error.driverClass.required"));
-            }
-            
-            // username is a required field
-            if ((username == null) || (username.length() < 1)) {
-                errors.add("username",
-                           new ActionError("users.error.username.required"));
-            }
-            
-            // commented out password can be an empty string
-            // password is a required field
-            //if ((password == null) || (password.length() < 1)) {
-            //    errors.add("password",
-            //               new ActionError("error.userPassword.required"));
-            //
-            
-            // FIX ME -- need to do a range check
-            numberCheck("active", active , false, 0, 10000);
-            numberCheck("idle", idle , false, 0, 10000);
-            numberCheck("wait", wait , false, 0, 10000);
+        // Quotes not allowed in password
+        if ((password != null) && (password.indexOf('"') > 0)) {
+            errors.add("password",
+                       new ActionMessage("users.error.quotes"));
+        }
 
-            // Quotes not allowed in username
-            if ((username != null) && (username.indexOf('"') >= 0)) {
-                errors.add("username",
-                           new ActionError("users.error.quotes"));
-            }
-
-            // Quotes not allowed in password
-            if ((password != null) && (password.indexOf('"') > 0)) {
-                errors.add("password",
-                           new ActionError("users.error.quotes"));
-            }
-         //}
         return (errors);
     }
  
@@ -368,7 +347,7 @@
         
         // Check for 'is required'
         if ((numText == null) || (numText.length() < 1)) {
-            errors.add(field, new ActionError("resources.error."+field+".required"));
+            errors.add(field, new ActionMessage("resources.error."+field+".required"));
         } else {
             
             // check for 'must be a number' in the 'valid range'
@@ -378,11 +357,11 @@
                 if (rangeCheck) {
                     if ((num < min) || (num > max ))
                         errors.add( field,
-                        new ActionError("resources.error."+ field +".range"));
+                        new ActionMessage("resources.error."+ field +".range"));
                 }
             } catch (NumberFormatException e) {
                 errors.add(field,
-                new ActionError("resources.integer.error"));
+                new ActionMessage("resources.integer.error"));
             }
         }
     }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DataSourcesForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DataSourcesForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DataSourcesForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,9 +18,6 @@
 package org.apache.webapp.admin.resources;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
 
 
@@ -27,7 +25,7 @@
  * Form bean for the delete data sources page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteDataSourcesAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteDataSourcesAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteDataSourcesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,29 +19,16 @@
 package org.apache.webapp.admin.resources;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 
@@ -50,7 +38,7 @@
  * specified set of dataSource entries.</p>
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -95,7 +83,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Has this transaction been cancelled?

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteEnvEntriesAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteEnvEntriesAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteEnvEntriesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,29 +20,16 @@
 
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 
@@ -51,7 +39,7 @@
  * specified set of env entries.</p>
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -96,7 +84,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         
         // Has this transaction been cancelled?

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteMailSessionsAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteMailSessionsAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteMailSessionsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,29 +19,16 @@
 package org.apache.webapp.admin.resources;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 
@@ -50,7 +38,7 @@
  * specified set of mailSession entries.</p>
  *
  * @author Amy Roh
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -95,7 +83,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Has this transaction been cancelled?

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteResourceLinksAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteResourceLinksAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteResourceLinksAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,29 +19,16 @@
 package org.apache.webapp.admin.resources;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 
@@ -50,7 +38,7 @@
  * specified set of resource links entries.</p>
  *
  * @author Amy Roh
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -95,7 +83,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Has this transaction been cancelled?

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteUserDatabasesAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteUserDatabasesAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteUserDatabasesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,29 +20,16 @@
 
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 
@@ -51,7 +39,7 @@
  * specified set of user databases.</p>
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -96,7 +84,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Has this transaction been cancelled?

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/EnvEntriesForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/EnvEntriesForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/EnvEntriesForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,9 +19,6 @@
 
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
 
 
@@ -28,7 +26,7 @@
  * Form bean for the delete env entries page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/EnvEntryForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/EnvEntryForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/EnvEntryForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,10 +21,9 @@
 import java.util.ArrayList;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
 import org.apache.webapp.admin.LabelValueBean;
 
 import java.lang.reflect.Constructor;
@@ -32,7 +32,7 @@
  * Form bean for the individual environment entry page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -211,16 +211,16 @@
      */
     public List getTypeVals() {
         
-        return this.typeVals;
+        return typeVals;
         
     }
     
     /**
      * Set the typeVals.
      */
-    public void setTypeVals(List typeVals) {
+    public void setTypeVals(List theTypeVals) {
         
-        this.typeVals = typeVals;
+        typeVals = theTypeVals;
         
     }
     
@@ -261,47 +261,44 @@
 
         errors = new ActionErrors();
 
-        String submit = request.getParameter("submit");
-        //if (submit != null) {
+        // name is a required field
+        if ((name == null) || (name.length() < 1)) {
+            errors.add("name",
+                       new ActionMessage("resources.error.name.required"));
+        }
 
-            // name is a required field
-            if ((name == null) || (name.length() < 1)) {
-                errors.add("name",
-                           new ActionError("resources.error.name.required"));
-            }
+        // value is a required field
+        if ((value == null) || (value.length() < 1)) {
+            errors.add("value",
+                       new ActionMessage("resources.error.value.required"));
+        }
 
-            // value is a required field
-            if ((value == null) || (value.length() < 1)) {
-                errors.add("value",
-                           new ActionError("resources.error.value.required"));
-            }
+        // Quotes not allowed in name
+        if ((name != null) && (name.indexOf('"') >= 0)) {
+            errors.add("name",
+                       new ActionMessage("users.error.quotes"));
+        }
 
-            // Quotes not allowed in name
-            if ((name != null) && (name.indexOf('"') >= 0)) {
-                errors.add("name",
-                           new ActionError("users.error.quotes"));
-            }
+        // Quotes not allowed in value
+        if ((value != null) && (value.indexOf('"') > 0)) {
+            errors.add("value",
+                       new ActionMessage("users.error.quotes"));
+        }
 
-            // Quotes not allowed in value
-            if ((value != null) && (value.indexOf('"') > 0)) {
-                errors.add("value",
-                           new ActionError("users.error.quotes"));
-            }
+        // Quotes not allowed in description
+        if ((description != null) && (description.indexOf('"') > 0)) {
+            errors.add("description",
+                       new ActionMessage("users.error.quotes"));
+        }
+        
+        // if cehcked, override will be sent as a request parameter
+        override = (request.getParameter("override") != null);
+        
+        if (validateType(entryType, value)) {
+               errors.add("value",
+                       new ActionMessage("resources.error.value.mismatch"));
+        }
 
-            // Quotes not allowed in description
-            if ((description != null) && (description.indexOf('"') > 0)) {
-                errors.add("description",
-                           new ActionError("users.error.quotes"));
-            }
-            
-            // if cehcked, override will be sent as a request parameter
-            override = (request.getParameter("override") != null);
-            
-            if (validateType(entryType, value)) {
-                   errors.add("value",
-                           new ActionError("resources.error.value.mismatch"));
-            }
-        //}
         return (errors);
     }
 
@@ -336,7 +333,7 @@
                     Class[] parameterTypes = {String.class};
                     Constructor ct = cls.getConstructor(parameterTypes);
                     Object arglist1[] = {value};
-                    Object retobj = ct.newInstance(arglist1);
+                    ct.newInstance(arglist1);
                 } catch (Exception e) {
                     mismatch = true;
                 }
@@ -345,12 +342,12 @@
             } else {
                 // validation for other types not implemented yet
                errors.add("entryType",
-                       new ActionError("resources.error.entryType.notimpl"));
+                       new ActionMessage("resources.error.entryType.notimpl"));
             }
         } catch (ClassNotFoundException cnfe) {
             // entry type has an invalid entry
            errors.add("entryType",
-                       new ActionError("resources.error.entryType.invalid"));
+                       new ActionMessage("resources.error.entryType.invalid"));
          }        
         return mismatch;
     }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListDataSourcesAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListDataSourcesAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListDataSourcesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,11 +23,9 @@
 import java.net.URLDecoder;
 import java.util.Locale;
 import javax.management.MBeanServer;
-import javax.management.ObjectName;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
@@ -46,7 +45,7 @@
  *
  * @author Manveen Kaur
  * @author Amy Roh
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -90,7 +89,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         
         String resourcetype = request.getParameter("resourcetype");

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListEnvEntriesAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListEnvEntriesAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListEnvEntriesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,11 +23,9 @@
 import java.net.URLDecoder;
 import java.util.Locale;
 import javax.management.MBeanServer;
-import javax.management.ObjectName;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
@@ -45,7 +44,7 @@
  * </ul>
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -91,7 +90,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         
         String resourcetype = request.getParameter("resourcetype");

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListMailSessionsAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListMailSessionsAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListMailSessionsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,11 +23,9 @@
 import java.net.URLDecoder;
 import java.util.Locale;
 import javax.management.MBeanServer;
-import javax.management.ObjectName;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
@@ -45,7 +44,7 @@
  * </ul>
  *
  * @author Amy Roh
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -89,7 +88,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         
         String resourcetype = request.getParameter("resourcetype");

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListResourceLinksAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListResourceLinksAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListResourceLinksAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,11 +23,9 @@
 import java.net.URLDecoder;
 import java.util.Locale;
 import javax.management.MBeanServer;
-import javax.management.ObjectName;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
@@ -45,7 +44,7 @@
  * </ul>
  *
  * @author Amy Roh
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -89,7 +88,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         
         String resourcetype = request.getParameter("resourcetype");

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListUserDatabasesAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListUserDatabasesAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListUserDatabasesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,11 +23,9 @@
 import java.net.URLDecoder;
 import java.util.Locale;
 import javax.management.MBeanServer;
-import javax.management.ObjectName;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
@@ -45,7 +44,7 @@
  * </ul>
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -91,7 +90,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         String domain = request.getParameter("domain");

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/MailSessionForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/MailSessionForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/MailSessionForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -16,21 +17,16 @@
 
 package org.apache.webapp.admin.resources;
 
-import java.util.List;
-import java.util.ArrayList;
-
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
-import org.apache.webapp.admin.LabelValueBean;
+import org.apache.struts.action.ActionMessage;
 
 /**
  * Form bean for the individual mail session page.
  *
  * @author Amy Roh
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -192,16 +188,11 @@
 
         errors = new ActionErrors();
 
-        String submit = request.getParameter("submit");
-
-        //if (submit != null) {
-
-            // mailSmtpHost is a required field
-            if ((mailhost == null) || (mailhost.length() < 1)) {
-                errors.add("mailhost",
-                      new ActionError("resources.error.mailhost.required"));
-            }
-         //}
+        // mailSmtpHost is a required field
+        if ((mailhost == null) || (mailhost.length() < 1)) {
+            errors.add("mailhost",
+                  new ActionMessage("resources.error.mailhost.required"));
+        }
         
         return (errors);
     }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/MailSessionsForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/MailSessionsForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/MailSessionsForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,9 +18,6 @@
 package org.apache.webapp.admin.resources;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
 
 
@@ -27,7 +25,7 @@
  * Form bean for the delete mail sessions page.
  *
  * @author Amy Roh
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceLinkForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceLinkForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceLinkForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -16,21 +17,16 @@
 
 package org.apache.webapp.admin.resources;
 
-import java.util.List;
-import java.util.ArrayList;
-
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
-import org.apache.webapp.admin.LabelValueBean;
+import org.apache.struts.action.ActionMessage;
 
 /**
  * Form bean for the individual resource link page.
  *
  * @author Amy Roh
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -192,30 +188,24 @@
     HttpServletRequest request) {
         errors = new ActionErrors();
 
-        String submit = request.getParameter("submit");
+        // name is a required field
+        if ((name == null) || (name.length() < 1)) {
+            errors.add("name",
+                       new ActionMessage("resources.error.name.required"));
+        }
 
-        //if (submit != null) {
+        // global is a required field
+        if (( global == null) || (global.length() < 1)) {
+            errors.add("global",
+                       new ActionMessage("resources.error.global.required"));
+        }
+        
+        // type is a required field
+        if ((type == null) || (type.length() < 1)) {
+            errors.add("type",
+                       new ActionMessage("resources.error.type.required"));
+        }
 
-            // name is a required field
-            if ((name == null) || (name.length() < 1)) {
-                errors.add("name",
-                           new ActionError("resources.error.name.required"));
-            }
-
-            // global is a required field
-            if (( global == null) || (global.length() < 1)) {
-                errors.add("global",
-                           new ActionError("resources.error.global.required"));
-            }
-            
-            // type is a required field
-            if ((type == null) || (type.length() < 1)) {
-                errors.add("type",
-                           new ActionError("resources.error.type.required"));
-            }
-            
-         //}
-
         return (errors);
 
     }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceLinksForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceLinksForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceLinksForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,9 +18,6 @@
 package org.apache.webapp.admin.resources;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
 
 
@@ -27,7 +25,7 @@
  * Form bean for the delete resource links page.
  *
  * @author Amy Roh
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceUtils.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceUtils.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceUtils.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,6 @@
 
 package org.apache.webapp.admin.resources;
 
-import java.util.Arrays;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.Collections;
@@ -34,7 +34,7 @@
  *
  * @author Manveen Kaur
  * @author Amy Roh
- * @version $Revision: 302868 $ $Date: 2004-04-30 12:53:59 -0500 (Fri, 30 Apr 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -102,7 +102,6 @@
         throws Exception {
                            
         ObjectName ename = null;
-        StringBuffer sb = null;        
         if (resourcetype!=null) {
             if (resourcetype.equals("Global")) {
                 ename = new ObjectName( domain + ENVIRONMENT_TYPE + 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourcesTreeBuilder.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourcesTreeBuilder.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourcesTreeBuilder.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -35,7 +36,7 @@
  *
  * @author Manveen Kaur
  * @author Amy Roh
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveDataSourceAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveDataSourceAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveDataSourceAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,30 +20,20 @@
 
 import java.io.IOException;
 import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
+
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 
@@ -52,7 +43,7 @@
  * updated data source entry.</p>
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -95,7 +86,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Has this transaction been cancelled?
@@ -164,9 +154,9 @@
                 
                 if (mserver.isRegistered(oname) || 
                                         mserver.isRegistered(encodedOName)) {
-                    ActionErrors errors = new ActionErrors();
+                    ActionMessages errors = new ActionMessages();
                     errors.add("jndiName",
-                               new ActionError("resources.invalid.name"));
+                               new ActionMessage("resources.invalid.name"));
                     saveErrors(request, errors);
                     return (new ActionForward(mapping.getInput()));
                 }        

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveEnvEntryAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveEnvEntryAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveEnvEntryAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,31 +19,20 @@
 package org.apache.webapp.admin.resources;
 
 import java.io.IOException;
-import java.net.URLDecoder;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
+
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 
@@ -52,7 +42,7 @@
  * updated Env Entry.</p>
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -96,7 +86,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Has this transaction been cancelled?
@@ -152,9 +141,9 @@
                 }         
                             
                 if (mserver.isRegistered(oname)) {
-                    ActionErrors errors = new ActionErrors();
+                    ActionMessages errors = new ActionMessages();
                     errors.add("name",
-                               new ActionError("resources.invalid.env"));
+                               new ActionMessage("resources.invalid.env"));
                     saveErrors(request, errors);
                     return (new ActionForward(mapping.getInput()));
                 }  

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveMailSessionAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveMailSessionAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveMailSessionAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,31 +19,20 @@
 package org.apache.webapp.admin.resources;
 
 import java.io.IOException;
-import java.net.URLDecoder;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
+
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 
@@ -52,7 +42,7 @@
  * updated mail session entry.</p>
  *
  * @author Amy Roh
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -95,7 +85,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Has this transaction been cancelled?
@@ -149,9 +138,9 @@
                 }         
                             
                 if (mserver.isRegistered(oname)) {
-                    ActionErrors errors = new ActionErrors();
+                    ActionMessages errors = new ActionMessages();
                     errors.add("name",
-                               new ActionError("resources.invalid.name"));
+                               new ActionMessage("resources.invalid.name"));
                     saveErrors(request, errors);
                     return (new ActionForward(mapping.getInput()));
                 }   

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveResourceLinkAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveResourceLinkAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveResourceLinkAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,31 +19,20 @@
 package org.apache.webapp.admin.resources;
 
 import java.io.IOException;
-import java.net.URLDecoder;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
+
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 
@@ -52,7 +42,7 @@
  * updated resource link entry.</p>
  *
  * @author Amy Roh
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -95,7 +85,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Has this transaction been cancelled?
@@ -149,9 +138,9 @@
                 }         
                             
                 if (mserver.isRegistered(oname)) {
-                    ActionErrors errors = new ActionErrors();
+                    ActionMessages errors = new ActionMessages();
                     errors.add("name",
-                               new ActionError("resources.invalid.name"));
+                               new ActionMessage("resources.invalid.name"));
                     saveErrors(request, errors);
                     return (new ActionForward(mapping.getInput()));
                 }   

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveUserDatabaseAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveUserDatabaseAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveUserDatabaseAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,31 +19,20 @@
 package org.apache.webapp.admin.resources;
 
 import java.io.IOException;
-import java.net.URLDecoder;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
+
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 
@@ -52,7 +42,7 @@
  * updated User database entry.</p>
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -100,7 +90,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Has this transaction been cancelled?
@@ -142,9 +131,9 @@
                             ",name=" + params[0]);
                             
                 if (mserver.isRegistered(oname)) {
-                    ActionErrors errors = new ActionErrors();
+                    ActionMessages errors = new ActionMessages();
                     errors.add("name",
-                               new ActionError("resources.invalid.name"));
+                               new ActionMessage("resources.invalid.name"));
                     saveErrors(request, errors);
                     return (new ActionForward(mapping.getInput()));
                 }   

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpDataSourceAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpDataSourceAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpDataSourceAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,27 +18,14 @@
 package org.apache.webapp.admin.resources;
 
 import java.io.IOException;
-import java.net.URLDecoder;
-import java.util.Iterator;
 import java.util.Locale;
-import javax.management.Attribute;
 import javax.management.AttributeNotFoundException;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -52,7 +40,7 @@
  * being added, or a non-null value for an existing DataSource.</p>
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -96,7 +84,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Set up the form bean based on the creating or editing state

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpEnvEntryAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpEnvEntryAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpEnvEntryAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,26 +18,13 @@
 package org.apache.webapp.admin.resources;
 
 import java.io.IOException;
-import java.net.URLDecoder;
-import java.util.Iterator;
 import java.util.Locale;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -51,7 +39,7 @@
  * being added, or a non-null value for an existing EnvEntry.</p>
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -95,7 +83,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Set up the form bean based on the creating or editing state

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpMailSessionAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpMailSessionAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpMailSessionAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,26 +18,13 @@
 package org.apache.webapp.admin.resources;
 
 import java.io.IOException;
-import java.net.URLDecoder;
-import java.util.Iterator;
 import java.util.Locale;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -51,7 +39,7 @@
  * being added, or a non-null value for an existing MailSession.</p>
  *
  * @author Amy Roh
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -95,7 +83,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Set up the form bean based on the creating or editing state

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpResourceLinkAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpResourceLinkAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpResourceLinkAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,26 +18,13 @@
 package org.apache.webapp.admin.resources;
 
 import java.io.IOException;
-import java.net.URLDecoder;
-import java.util.Iterator;
 import java.util.Locale;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -51,7 +39,7 @@
  * being added, or a non-null value for an existing ResourceLink.</p>
  *
  * @author Amy Roh
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -95,7 +83,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         
         // Set up the form bean based on the creating or editing state

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpUserDatabaseAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpUserDatabaseAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpUserDatabaseAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,26 +18,13 @@
 package org.apache.webapp.admin.resources;
 
 import java.io.IOException;
-import java.net.URLDecoder;
-import java.util.Iterator;
 import java.util.Locale;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -51,7 +39,7 @@
  * being added, or a non-null value for an existing UserDatabase.</p>
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -95,7 +83,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Set up the form bean based on the creating or editing state

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/UserDatabaseForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/UserDatabaseForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/UserDatabaseForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -16,23 +17,16 @@
 
 package org.apache.webapp.admin.resources;
 
-import java.util.List;
-import java.util.ArrayList;
-
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
-import org.apache.webapp.admin.LabelValueBean;
+import org.apache.struts.action.ActionMessage;
 
-import java.lang.reflect.Constructor;
-
 /**
  * Form bean for the individual user database page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -165,39 +159,36 @@
 
         errors = new ActionErrors();
 
-        String submit = request.getParameter("submit");
-        //if (submit != null) {
+        // name is a required field
+        if ((name == null) || (name.length() < 1)) {
+            errors.add("name",
+                       new ActionMessage("resources.error.name.required"));
+        }
 
-            // name is a required field
-            if ((name == null) || (name.length() < 1)) {
-                errors.add("name",
-                           new ActionError("resources.error.name.required"));
-            }
+        // path is a required field
+        if ((path == null) || (path.length() < 1)) {
+            errors.add("path",
+                       new ActionMessage("resources.error.path.required"));
+        }
 
-            // path is a required field
-            if ((path == null) || (path.length() < 1)) {
-                errors.add("path",
-                           new ActionError("resources.error.path.required"));
-            }
+        // Quotes not allowed in name
+        if ((name != null) && (name.indexOf('"') >= 0)) {
+            errors.add("name",
+                       new ActionMessage("users.error.quotes"));
+        }
 
-            // Quotes not allowed in name
-            if ((name != null) && (name.indexOf('"') >= 0)) {
-                errors.add("name",
-                           new ActionError("users.error.quotes"));
-            }
+        // Quotes not allowed in path
+        if ((path != null) && (path.indexOf('"') > 0)) {
+            errors.add("path",
+                       new ActionMessage("users.error.quotes"));
+        }
 
-            // Quotes not allowed in path
-            if ((path != null) && (path.indexOf('"') > 0)) {
-                errors.add("path",
-                           new ActionError("users.error.quotes"));
-            }
+        // Quotes not allowed in description
+        if ((description != null) && (description.indexOf('"') > 0)) {
+            errors.add("description",
+                       new ActionMessage("users.error.quotes"));
+        }
 
-            // Quotes not allowed in description
-            if ((description != null) && (description.indexOf('"') > 0)) {
-                errors.add("description",
-                           new ActionError("users.error.quotes"));
-            }
-        //}
         return (errors);
     }
     

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/UserDatabasesForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/UserDatabasesForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/UserDatabasesForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,9 +19,6 @@
 
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
 
 
@@ -28,7 +26,7 @@
  * Form bean for the delete env entries page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479038 $ $Date: 2006-11-24 16:01:21 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/EditServerAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/EditServerAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/EditServerAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,34 +19,19 @@
 package org.apache.webapp.admin.server;
 
 import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Locale;
-import java.util.ArrayList;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 
-import javax.management.modelmbean.ModelMBean;
-import javax.management.modelmbean.ModelMBeanInfo;
-
 import org.apache.struts.util.MessageResources;
-import org.apache.webapp.admin.LabelValueBean;
-import org.apache.webapp.admin.Lists;
-import org.apache.webapp.admin.TomcatTreeBuilder;
 import org.apache.webapp.admin.ApplicationServlet;
 
 /**
@@ -54,7 +40,7 @@
  *
  * @author Jazmin Jonson
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479042 $ $Date: 2006-11-24 16:02:41 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class EditServerAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/SaveServerAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/SaveServerAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/SaveServerAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,6 @@
 
 package org.apache.webapp.admin.server;
 
-import java.util.Iterator;
 import java.util.Locale;
 import java.io.IOException;
 import javax.servlet.ServletException;
@@ -25,19 +25,15 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessages;
+
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
 import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.TomcatTreeBuilder;
 import org.apache.struts.util.MessageResources;
 
 /**
@@ -45,7 +41,7 @@
  *
  * @author Jazmin Jonson
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479042 $ $Date: 2006-11-24 16:02:41 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SaveServerAction extends Action {
@@ -92,7 +88,7 @@
             ("Cannot acquire MBeanServer reference", t);
         }
         
-        ActionErrors errors = new ActionErrors();
+        ActionMessages errors = new ActionMessages();
         
         // Report any errors we have discovered back to the original form
         if (!errors.isEmpty()) {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/ServerForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/ServerForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/ServerForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,20 +19,16 @@
 
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
-import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.TomcatTreeBuilder;
+import org.apache.struts.action.ActionMessage;
 
-import java.util.List;
-
 /**
  * Form bean for the server form page.  
  * @author Patrick Luby
  * @author Manveen Kaur
- * @version $Revision: 302986 $ $Date: 2004-06-27 21:14:52 -0500 (Sun, 27 Jun 2004) $
+ * @version $Revision: 479042 $ $Date: 2006-11-24 16:02:41 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class ServerForm extends ActionForm {
@@ -163,35 +160,30 @@
         
         ActionErrors errors = new ActionErrors();
         
-        String submit = request.getParameter("submit");
-        //if (submit != null) {
-            
-            // check for portNumber -- must not be blank, must be in
-            // the range 1 to 65535.
-            
-            if ((portNumberText == null) || (portNumberText.length() < 1)) {
-                errors.add("portNumberText",
-                new ActionError("error.portNumber.required"));
-            } else {
-                try {
-                    int port = Integer.parseInt(portNumberText);
-                    if ((port <= 0) || (port >65535 ))
-                        errors.add("portNumberText", 
-                            new ActionError("error.portNumber.range"));
-                } catch (NumberFormatException e) {
+        // check for portNumber -- must not be blank, must be in
+        // the range 1 to 65535.
+        
+        if ((portNumberText == null) || (portNumberText.length() < 1)) {
+            errors.add("portNumberText",
+            new ActionMessage("error.portNumber.required"));
+        } else {
+            try {
+                int port = Integer.parseInt(portNumberText);
+                if ((port <= 0) || (port >65535 ))
                     errors.add("portNumberText", 
-                        new ActionError("error.portNumber.format"));
-                }
+                        new ActionMessage("error.portNumber.range"));
+            } catch (NumberFormatException e) {
+                errors.add("portNumberText", 
+                    new ActionMessage("error.portNumber.format"));
             }
+        }
+    
+        // shutdown text can be any non-empty string of atleast 6 characters.
         
-            // shutdown text can be any non-empty string of atleast 6 characters.
+        if ((shutdownText == null) || (shutdownText.length() < 7))
+            errors.add("shutdownText",
+            new ActionMessage("error.shutdownText.length"));
             
-            if ((shutdownText == null) || (shutdownText.length() < 7))
-                errors.add("shutdownText",
-                new ActionError("error.shutdownText.length"));
-            
-        //}
-        
         return errors;
         
     }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/AddServiceAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/AddServiceAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/AddServiceAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,19 +25,17 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.LabelValueBean;
-import org.apache.webapp.admin.Lists;
 
 /**
  * The <code>Action</code> that sets up <em>Add Service</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479039 $ $Date: 2006-11-24 16:01:49 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class AddServiceAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServiceAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServiceAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServiceAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,28 +21,18 @@
 import java.io.IOException;
 import java.util.Collections;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Locale;
-import java.util.TreeSet;
-import java.util.Set;
 import java.util.ArrayList;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import org.apache.struts.util.MessageResources;
 
 import org.apache.webapp.admin.ApplicationServlet;
@@ -52,7 +43,7 @@
  * The <code>Action</code> that sets up <em>Delete Services</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479039 $ $Date: 2006-11-24 16:01:49 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class DeleteServiceAction extends Action {
@@ -89,7 +80,6 @@
         
 
         // Acquire the resources that we need
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         MessageResources resources = getResources(request);
         

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServicesAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServicesAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServicesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,15 +19,9 @@
 package org.apache.webapp.admin.service;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
-import java.util.Set;
-import java.util.TreeSet;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
-import javax.management.ObjectInstance;
-import javax.management.modelmbean.ModelMBean;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpSession;
 import javax.servlet.http.HttpServletRequest;
@@ -48,7 +43,7 @@
  * transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479039 $ $Date: 2006-11-24 16:01:49 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class DeleteServicesAction extends Action {
@@ -119,8 +114,6 @@
             // Remove the specified services
             for (int i = 0; i < services.length; i++) {
                 values[0] = services[i];
-                ObjectName oname = new ObjectName(services[i]);
-                String domain = oname.getDomain();
                 ObjectName fname = 
                         TomcatTreeBuilder.getMBeanFactory();
                 mBServer.invoke(fname, operation,

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/EditServiceAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/EditServiceAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/EditServiceAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,7 +19,6 @@
 
 import java.io.IOException;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Locale;
 import java.util.ArrayList;
 import javax.servlet.ServletException;
@@ -26,27 +26,23 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 import org.apache.struts.util.MessageResources;
 
 import javax.management.MBeanServer;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 
 import org.apache.webapp.admin.ApplicationServlet;
 import org.apache.webapp.admin.LabelValueBean;
 import org.apache.webapp.admin.Lists;
-import org.apache.webapp.admin.TomcatTreeBuilder;
 
 /**
  * The <code>Action</code> that sets up <em>Edit Service</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479039 $ $Date: 2006-11-24 16:01:49 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class EditServiceAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/SaveServiceAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/SaveServiceAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/SaveServiceAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -24,25 +25,19 @@
 import java.io.IOException;
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.Lists;
 import org.apache.webapp.admin.TomcatTreeBuilder;
 import org.apache.webapp.admin.TreeControl;
 import org.apache.webapp.admin.TreeControlNode;
@@ -56,7 +51,7 @@
  *
  * @author Manveen Kaur
  * @author Amy Roh
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479039 $ $Date: 2006-11-24 16:01:49 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SaveServiceAction extends Action {
@@ -66,26 +61,6 @@
 
 
     /**
-     * Signature for the <code>createStandardEngine</code> operation.
-     */
-    private String createStandardEngineTypes[] =
-    { "java.lang.String",     // parent
-      "java.lang.String",     // name
-      "java.lang.String",     // defaultHost
-    };
-
-
-    /**
-     * Signature for the <code>createStandardService</code> operation.
-     */
-    private String createStandardServiceTypes[] =
-    { "java.lang.String",     // parent
-      "java.lang.String",     // name
-      "java.lang.String"      // domain
-    };
-
-
-    /**
      * Signature for the <code>createStandardEngineService</code> operation.
      */
     private String createStandardEngineServiceTypes[] =
@@ -97,15 +72,6 @@
     
     
     /**
-     * Signature for the <code>createUserDatabaseRealm</code> operation.
-     */
-    private String createUserDatabaseRealmTypes[] =
-    { "java.lang.String",     // parent
-      "java.lang.String",     // name
-    };
-
-
-    /**
      * The MBeanServer we will be interacting with.
      */
     private MBeanServer mBServer = null;
@@ -153,7 +119,6 @@
         String adminAction = sform.getAdminAction();
         String sObjectName = sform.getObjectName();
         String eObjectName = sform.getEngineObjectName();
-        String serverObjectName = sform.getServerObjectName();
         ObjectName eoname = null;
         ObjectName soname = null;
         // Perform a "Create Service" transaction (if requested)
@@ -173,9 +138,9 @@
                 Iterator names = mBServer.queryNames(oname, null).iterator();
                 while (names.hasNext()) {       
                     if (mBServer.isRegistered((ObjectName)names.next())) {
-                        ActionErrors errors = new ActionErrors();
+                        ActionMessages errors = new ActionMessages();
                         errors.add("serviceName",
-                               new ActionError("error.serviceName.exists"));
+                               new ActionMessage("error.serviceName.exists"));
                         saveErrors(request, errors);
                         return (new ActionForward(mapping.getInput()));
                     }
@@ -183,9 +148,9 @@
                 
                 oname = new ObjectName(engineName + TomcatTreeBuilder.ENGINE_TYPE);
                 if (mBServer.isRegistered(oname)) {
-                    ActionErrors errors = new ActionErrors();
+                    ActionMessages errors = new ActionMessages();
                     errors.add("serviceName",
-                               new ActionError("error.engineName.exists"));
+                               new ActionMessage("error.engineName.exists"));
                     saveErrors(request, errors);
                     return (new ActionForward(mapping.getInput()));
                 }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServiceForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServiceForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServiceForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,17 +19,18 @@
 package org.apache.webapp.admin.service;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+
 import java.util.List;
 
 /**
  * Form bean for the service page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302986 $ $Date: 2004-06-27 21:14:52 -0500 (Sun, 27 Jun 2004) $
+ * @version $Revision: 479039 $ $Date: 2006-11-24 16:01:49 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class ServiceForm extends ActionForm {
@@ -341,22 +343,17 @@
     HttpServletRequest request) {
         
         ActionErrors errors = new ActionErrors();
-        String submit = request.getParameter("submit");
-        
-        //if (submit != null) {
 
-            if ((serviceName == null) || (serviceName.length() < 1)) {
-                errors.add("serviceName",
-                           new ActionError("error.serviceName.required"));
-            }
-            
-            if ((engineName == null) || (engineName.length() < 1)) {
-                errors.add("engineName",
-                           new ActionError("error.engineName.required"));
-            }
-
-        //}
+        if ((serviceName == null) || (serviceName.length() < 1)) {
+            errors.add("serviceName",
+                       new ActionMessage("error.serviceName.required"));
+        }
         
+        if ((engineName == null) || (engineName.length() < 1)) {
+            errors.add("engineName",
+                       new ActionMessage("error.engineName.required"));
+        }
+
         return errors;
     }
     

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServicesForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServicesForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServicesForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * Form bean for deleting services.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ServicesForm extends ActionForm {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/BaseForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/BaseForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/BaseForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,8 +20,6 @@
 
 import javax.management.ObjectName;
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
 
@@ -30,7 +29,7 @@
  * options.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteGroupsAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteGroupsAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteGroupsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,29 +20,16 @@
 
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 
@@ -51,7 +39,7 @@
  * specified set of groups.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303759 $ $Date: 2005-03-16 18:21:19 -0600 (Wed, 16 Mar 2005) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -96,7 +84,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Has this transaction been cancelled?

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteRolesAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteRolesAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteRolesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,29 +20,16 @@
 
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 
@@ -51,7 +39,7 @@
  * specified set of roles.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -96,7 +84,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Has this transaction been cancelled?

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteUsersAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteUsersAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteUsersAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,29 +20,16 @@
 
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 
@@ -51,7 +39,7 @@
  * specified set of users.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303759 $ $Date: 2005-03-16 18:21:19 -0600 (Wed, 16 Mar 2005) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -96,7 +84,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Has this transaction been cancelled?

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -19,10 +20,9 @@
 import java.net.URLDecoder;
 import javax.management.MBeanServer;
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
 import org.apache.webapp.admin.ApplicationServlet;
 import org.apache.webapp.admin.TomcatTreeBuilder;
 
@@ -30,7 +30,7 @@
  * Form bean for the individual group page.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -143,29 +143,24 @@
         
         ActionErrors errors = new ActionErrors();
 
-        String submit = request.getParameter("submit");
-        //if (submit != null) {
+        // groupname is a required field
+        if ((groupname == null) || (groupname.length() < 1)) {
+            errors.add("groupname",
+                       new ActionMessage("users.error.groupname.required"));
+        }
 
-            // groupname is a required field
-            if ((groupname == null) || (groupname.length() < 1)) {
-                errors.add("groupname",
-                           new ActionError("users.error.groupname.required"));
-            }
+        // Quotes not allowed in groupname
+        if ((groupname != null) && (groupname.indexOf('"') >= 0)) {
+            errors.add("groupname",
+                       new ActionMessage("users.error.quotes"));
+        }
 
-            // Quotes not allowed in groupname
-            if ((groupname != null) && (groupname.indexOf('"') >= 0)) {
-                errors.add("groupname",
-                           new ActionError("users.error.quotes"));
-            }
+        // Quotes not allowed in description
+        if ((description != null) && (description.indexOf('"') > 0)) {
+            errors.add("description",
+                       new ActionMessage("users.error.quotes"));
+        }
 
-            // Quotes not allowed in description
-            if ((description != null) && (description.indexOf('"') > 0)) {
-                errors.add("description",
-                           new ActionError("users.error.quotes"));
-            }
-
-        //}
-
         return (errors);
 
     }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupsForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupsForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupsForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,9 +19,6 @@
 
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
 
 
@@ -28,7 +26,7 @@
  * Form bean for the delete groups page.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListGroupsAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListGroupsAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListGroupsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,11 +23,9 @@
 import java.net.URLDecoder;
 import java.util.Locale;
 import javax.management.MBeanServer;
-import javax.management.ObjectName;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
@@ -47,7 +46,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -93,7 +92,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Create a form bean containing the requested MBean Names

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListRolesAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListRolesAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListRolesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,11 +23,9 @@
 import java.net.URLDecoder;
 import java.util.Locale;
 import javax.management.MBeanServer;
-import javax.management.ObjectName;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
@@ -47,7 +46,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -93,7 +92,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListUsersAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListUsersAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListUsersAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,11 +23,9 @@
 import java.net.URLDecoder;
 import java.util.Locale;
 import javax.management.MBeanServer;
-import javax.management.ObjectName;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
@@ -47,7 +46,7 @@
  * </ul>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -93,7 +92,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RoleForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RoleForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RoleForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,17 +19,16 @@
 
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
 
 
 /**
  * Form bean for the individual role page.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -102,29 +102,24 @@
 
         ActionErrors errors = new ActionErrors();
 
-        String submit = request.getParameter("submit");
-        //if (submit != null) {
+        // rolename is a required field
+        if ((rolename == null) || (rolename.length() < 1)) {
+            errors.add("rolename",
+                       new ActionMessage("users.error.rolename.required"));
+        }
 
-            // rolename is a required field
-            if ((rolename == null) || (rolename.length() < 1)) {
-                errors.add("rolename",
-                           new ActionError("users.error.rolename.required"));
-            }
+        // Quotes not allowed in rolename
+        if ((rolename != null) && (rolename.indexOf('"') >= 0)) {
+            errors.add("rolename",
+                       new ActionMessage("users.error.quotes"));
+        }
 
-            // Quotes not allowed in rolename
-            if ((rolename != null) && (rolename.indexOf('"') >= 0)) {
-                errors.add("rolename",
-                           new ActionError("users.error.quotes"));
-            }
+        // Quotes not allowed in description
+        if ((description != null) && (description.indexOf('"') > 0)) {
+            errors.add("description",
+                       new ActionMessage("users.error.quotes"));
+        }
 
-            // Quotes not allowed in description
-            if ((description != null) && (description.indexOf('"') > 0)) {
-                errors.add("description",
-                           new ActionError("users.error.quotes"));
-            }
-
-        //}
-
         return (errors);
 
     }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RolesForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RolesForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RolesForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,9 +19,6 @@
 
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
 
 
@@ -28,7 +26,7 @@
  * Form bean for the delete roles page.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveGroupAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveGroupAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveGroupAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,29 +21,17 @@
 
 import java.io.IOException;
 import java.net.URLDecoder;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 import org.apache.webapp.admin.TomcatTreeBuilder;
@@ -52,7 +41,7 @@
  * updated Group back to the underlying database.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -97,7 +86,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Has this transaction been cancelled?

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveRoleAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveRoleAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveRoleAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,29 +21,17 @@
 
 import java.io.IOException;
 import java.net.URLDecoder;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 import org.apache.webapp.admin.TomcatTreeBuilder;
@@ -52,7 +41,7 @@
  * updated Role back to the underlying database.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -97,7 +86,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Has this transaction been cancelled?

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveUserAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveUserAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveUserAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,29 +21,18 @@
 
 import java.io.IOException;
 import java.net.URLDecoder;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 import org.apache.webapp.admin.TomcatTreeBuilder;
@@ -52,7 +42,7 @@
  * updated User back to the underlying database.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 476694 $ $Date: 2006-11-18 20:41:49 -0700 (Sat, 18 Nov 2006) $
  * @since 4.1
  */
 
@@ -97,7 +87,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Has this transaction been cancelled?
@@ -207,8 +196,8 @@
             addsig[0] = "java.lang.String";
             Object addpar[] = new Object[1];
             for (int i = 0; i < groups.length; i++) {
-                addpar[0] =
-                    (new ObjectName(groups[i])).getKeyProperty("groupname");
+                addpar[0] = ObjectName.unquote(
+                    (new ObjectName(groups[i])).getKeyProperty("groupname"));
                 mserver.invoke(oname, "addGroup",
                                addpar, addsig);
             }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpGroupAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpGroupAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpGroupAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,25 +21,13 @@
 
 import java.io.IOException;
 import java.net.URLDecoder;
-import java.util.Iterator;
 import java.util.Locale;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -54,7 +43,7 @@
  * being added, or a non-null value for an existing group.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -99,7 +88,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Set up a bean containing all possible roles

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpRoleAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpRoleAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpRoleAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,25 +21,13 @@
 
 import java.io.IOException;
 import java.net.URLDecoder;
-import java.util.Iterator;
 import java.util.Locale;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -53,7 +42,7 @@
  * being added, or a non-null value for an existing role.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -98,7 +87,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         String databaseName =
             URLDecoder.decode(request.getParameter("databaseName"),TomcatTreeBuilder.URL_ENCODING);

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpUserAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpUserAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpUserAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,25 +21,13 @@
 
 import java.io.IOException;
 import java.net.URLDecoder;
-import java.util.Iterator;
 import java.util.Locale;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanInfo;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -53,7 +42,7 @@
  * being added, or a non-null value for an existing user.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -98,7 +87,6 @@
             mserver = ((ApplicationServlet) getServlet()).getServer();
         }
         MessageResources resources = getResources(request);
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
 
         // Set up beans containing all possible groups and roles

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UserForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UserForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UserForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,10 +21,9 @@
 import java.net.URLDecoder;
 import javax.management.MBeanServer;
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
 import org.apache.webapp.admin.ApplicationServlet;
 import org.apache.webapp.admin.TomcatTreeBuilder;
 
@@ -31,7 +31,7 @@
  * Form bean for the individual user page.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 
@@ -177,41 +177,36 @@
         
         ActionErrors errors = new ActionErrors();
 
-        String submit = request.getParameter("submit");
-        //if (submit != null) {
+        // username is a required field
+        if ((username == null) || (username.length() < 1)) {
+            errors.add("username",
+                       new ActionMessage("users.error.username.required"));
+        }
 
-            // username is a required field
-            if ((username == null) || (username.length() < 1)) {
-                errors.add("username",
-                           new ActionError("users.error.username.required"));
-            }
+        // uassword is a required field
+        if ((password == null) || (username.length() < 1)) {
+            errors.add("password",
+                       new ActionMessage("users.error.password.required"));
+        }
 
-            // uassword is a required field
-            if ((password == null) || (username.length() < 1)) {
-                errors.add("password",
-                           new ActionError("users.error.password.required"));
-            }
+        // Quotes not allowed in username
+        if ((username != null) && (username.indexOf('"') >= 0)) {
+            errors.add("username",
+                       new ActionMessage("users.error.quotes"));
+        }
 
-            // Quotes not allowed in username
-            if ((username != null) && (username.indexOf('"') >= 0)) {
-                errors.add("username",
-                           new ActionError("users.error.quotes"));
-            }
+        // Quotes not allowed in password
+        if ((password != null) && (password.indexOf('"') > 0)) {
+            errors.add("description",
+                       new ActionMessage("users.error.quotes"));
+        }
 
-            // Quotes not allowed in password
-            if ((password != null) && (password.indexOf('"') > 0)) {
-                errors.add("description",
-                           new ActionError("users.error.quotes"));
-            }
+        // Quotes not allowed in fullName
+        if ((fullName != null) && (fullName.indexOf('"') > 0)) {
+            errors.add("fullName",
+                       new ActionMessage("users.error.quotes"));
+        }
 
-            // Quotes not allowed in fullName
-            if ((fullName != null) && (fullName.indexOf('"') > 0)) {
-                errors.add("fullName",
-                           new ActionError("users.error.quotes"));
-            }
-
-        //}
-
         return (errors);
 
     }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UserUtils.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UserUtils.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UserUtils.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  * <p>Shared utility methods for the user database administration module.</p>
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,9 +19,6 @@
 
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
 
 
@@ -28,7 +26,7 @@
  * Form bean for the delete users page.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479041 $ $Date: 2006-11-24 16:02:20 -0700 (Fri, 24 Nov 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersTreeBuilder.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersTreeBuilder.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersTreeBuilder.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -35,7 +36,7 @@
  * for administering the user database.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  * @since 4.1
  */
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/AccessLogValveForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/AccessLogValveForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/AccessLogValveForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,17 +18,17 @@
 package org.apache.webapp.admin.valve;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+
 import java.util.List;
 
 /**
  * Form bean for the accesslog valve page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class AccessLogValveForm extends ValveForm {
@@ -308,34 +309,28 @@
         
         ActionErrors errors = new ActionErrors();
         
-        String submit = request.getParameter("submit");
-        
-        // front end validation when save is clicked.        
-         //if (submit != null) {
+        // if not specified, default is access_log.
+        // to specify no prefix, specify a 0 length string...
+        if ((prefix == null) || (prefix.length() == 0)){
+            prefix = "access_log.";
+        }
             
-             // if not specified, default is access_log.
-             // to specify no prefix, specify a 0 length string...
-            if ((prefix == null) || (prefix.length() == 0)){
-                prefix = "access_log.";
-            }
-            
-            // default is a 0 length string
-            if ((suffix == null) || (suffix.length() < 1)) {
-                suffix = "";
-            }
+        // default is a 0 length string
+        if ((suffix == null) || (suffix.length() < 1)) {
+            suffix = "";
+        }
                                     
-            // If no directory attribute is specified, the default
-            // value is "logs".
-            if ((directory == null) || (directory.length() < 1)) {
-                directory = "logs";
-            }
+        // If no directory attribute is specified, the default
+        // value is "logs".
+        if ((directory == null) || (directory.length() < 1)) {
+            directory = "logs";
+        }
 
-            if ((pattern == null) || (pattern.length() < 1)) {
-                errors.add("pattern",
-                new ActionError("error.pattern.required"));
-            }         
-        //}
-                 
+        if ((pattern == null) || (pattern.length() < 1)) {
+            errors.add("pattern",
+            new ActionMessage("error.pattern.required"));
+        }         
+
         return errors;
     }
 }

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/AddValveAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/AddValveAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/AddValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,18 +19,15 @@
 
 import java.io.IOException;
 import java.net.URLEncoder;
-import java.util.Locale;
 import java.util.ArrayList;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.TomcatTreeBuilder;
 import org.apache.webapp.admin.LabelValueBean;
 import org.apache.webapp.admin.Lists;
@@ -38,7 +36,7 @@
  * The <code>Action</code> that sets up <em>Add Valve</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class AddValveAction extends Action {
@@ -71,8 +69,6 @@
 
         // Acquire the resources that we need
         HttpSession session = request.getSession();
-        Locale locale = getLocale(request);
-        MessageResources resources = getResources(request);
         
         // Fill in the form values for display and editing
         

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/DeleteValveAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/DeleteValveAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/DeleteValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,39 +21,27 @@
 import java.io.IOException;
 import java.util.Collections;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Locale;
-import java.util.TreeSet;
-import java.util.Set;
 import java.util.ArrayList;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
-import javax.management.ObjectName;
-import javax.management.JMException;
 import org.apache.struts.util.MessageResources;
 
 import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.TomcatTreeBuilder;
 import org.apache.webapp.admin.Lists;
 
 /**
  * The <code>Action</code> that sets up <em>Delete Valves</em> transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class DeleteValveAction extends Action {
@@ -89,7 +78,6 @@
         
         
         // Acquire the resources that we need
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         MessageResources resources = getResources(request);
         
@@ -101,7 +89,6 @@
             ("Cannot acquire MBeanServer reference", t);
         }
         
-        String pattern = null;
         // Set up a form bean containing the currently selected
         // objects to be deleted
         ValvesForm valvesForm = new ValvesForm();
@@ -110,7 +97,6 @@
             String valves[] = new String[1];
             valves[0] = select;
             valvesForm.setValves(valves);
-            pattern = select;
         }
         request.setAttribute("valvesForm", valvesForm);
         

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/DeleteValvesAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/DeleteValvesAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/DeleteValvesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,15 +19,9 @@
 package org.apache.webapp.admin.valve;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
-import java.util.Set;
-import java.util.TreeSet;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
-import javax.management.ObjectInstance;
-import javax.management.modelmbean.ModelMBean;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpSession;
 import javax.servlet.http.HttpServletRequest;
@@ -48,7 +43,7 @@
  * transactions.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class DeleteValvesAction extends Action {
@@ -119,7 +114,6 @@
             // Remove the specified valves
             for (int i = 0; i < valves.length; i++) {
                 values[0] = valves[i];
-                String domain = (new ObjectName(valves[i])).getDomain();
                 ObjectName fname = TomcatTreeBuilder.getMBeanFactory();
                 mBServer.invoke(fname, operation,
                                 values, removeValveTypes);

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/EditValveAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/EditValveAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/EditValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,37 +18,29 @@
 package org.apache.webapp.admin.valve;
 
 import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Locale;
-import java.util.ArrayList;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 import org.apache.struts.util.MessageResources;
 
 import javax.management.MBeanServer;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 
 import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.LabelValueBean;
 import org.apache.webapp.admin.Lists;
-import org.apache.webapp.admin.TomcatTreeBuilder;
 
 /**
  * A generic <code>Action</code> that sets up <em>Edit 
  * Valve </em> transactions, based on the type of Valve.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class EditValveAction extends Action {
@@ -83,7 +76,6 @@
         throws IOException, ServletException {
         
         // Acquire the resources that we need
-        HttpSession session = request.getSession();
         Locale locale = getLocale(request);
         MessageResources resources = getResources(request);
         
@@ -97,7 +89,6 @@
         
         // Set up the object names of the MBeans we are manipulating
         ObjectName vname = null;
-        StringBuffer sb = null;
         try {
             vname = new ObjectName(request.getParameter("select"));
         } catch (Exception e) {
@@ -109,7 +100,6 @@
             return (null);
         }
         
-       String parent = request.getParameter("parent");
        String valveType = null;
        String attribute = null;
        
@@ -216,8 +206,6 @@
     throws IOException {
         // Fill in the form values for display and editing
         HttpSession session = request.getSession();
-        Locale locale = getLocale(request);
-        MessageResources resources = getResources(request);
         String parent = request.getParameter("parent");
         RequestDumperValveForm valveFm = new RequestDumperValveForm();
         session.setAttribute("requestDumperValveForm", valveFm);
@@ -230,7 +218,6 @@
         sb.append(")");
         valveFm.setNodeLabel(sb.toString());
         valveFm.setValveType(valveType);
-        String attribute = null;
     }
 
     private void setUpSingleSignOnValve(ObjectName vname, HttpServletRequest request,
@@ -238,8 +225,6 @@
     throws IOException {
         // Fill in the form values for display and editing
         HttpSession session = request.getSession();
-        Locale locale = getLocale(request);
-        MessageResources resources = getResources(request);
         String parent = request.getParameter("parent");
         SingleSignOnValveForm valveFm = new SingleSignOnValveForm();
         session.setAttribute("singleSignOnValveForm", valveFm);
@@ -252,7 +237,6 @@
         sb.append(")");
         valveFm.setNodeLabel(sb.toString());
         valveFm.setValveType(valveType);
-        String attribute = null;
     }
 
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RemoteAddrValveForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RemoteAddrValveForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RemoteAddrValveForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,24 +18,18 @@
 package org.apache.webapp.admin.valve;
 
 import java.lang.IllegalArgumentException;
-import java.net.InetAddress;
-import java.util.List;
 import java.util.regex.Pattern;
 import javax.servlet.http.HttpServletRequest;
 
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
 
-import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.LabelValueBean;
-
 /**
  * Form bean for the remote addr valve page.
  *
  * @author Manveen Kaur
- * @version $Revision: 303192 $ $Date: 2004-09-03 04:33:06 -0500 (Fri, 03 Sep 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class RemoteAddrValveForm extends ValveForm {
@@ -158,30 +153,26 @@
         
         ActionErrors errors = new ActionErrors();
         
-        String submit = request.getParameter("submit");
-        
         // front end validation when save is clicked.        
-        //if (submit != null) {
-            // validate allow/deny patterns
-            if ((allow == null) || (allow.length() < 1)) {
-                if ((deny == null) || (deny.length() < 1)) {
-                    errors.add("allow",
-                    new ActionError("error.allow.deny.required"));
-                }
-            }                
-        //}
+        // validate allow/deny patterns
+        if ((allow == null) || (allow.length() < 1)) {
+            if ((deny == null) || (deny.length() < 1)) {
+                errors.add("allow",
+                new ActionMessage("error.allow.deny.required"));
+            }
+        }                
         
         try {
             allows = ValveUtil.precalculate(allow);            
         } catch (IllegalArgumentException e) {
-            errors.add("allow", new ActionError("error.syntax"));
+            errors.add("allow", new ActionMessage("error.syntax"));
             return errors;
         }
          
         try {   
             denies = ValveUtil.precalculate(deny);
         } catch (IllegalArgumentException e) {
-            errors.add("allow", new ActionError("error.syntax"));
+            errors.add("allow", new ActionMessage("error.syntax"));
             return errors;
         }
         
@@ -195,12 +186,12 @@
             if (denies[i].matcher(ip).matches()) {
                 if (allows.length < 1) {
                     errors.add("deny",
-                        new ActionError("error.denyIP"));
+                        new ActionMessage("error.denyIP"));
                 }
                 for (int j = 0; j < allows.length; j++) {
                     if (!allows[j].matcher(ip).matches()) { 
                         errors.add("deny",
-                        new ActionError("error.denyIP"));
+                        new ActionMessage("error.denyIP"));
                     }
                 }
             }    
@@ -216,7 +207,7 @@
             }
         }       
         if (!allowMatch) {
-            errors.add("allow", new ActionError("error.allowIP"));
+            errors.add("allow", new ActionMessage("error.allowIP"));
         }
         
         return errors;

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RemoteHostValveForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RemoteHostValveForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RemoteHostValveForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,24 +18,18 @@
 package org.apache.webapp.admin.valve;
 
 import java.lang.IllegalArgumentException;
-import java.net.InetAddress;
-import java.util.List;
 import java.util.regex.Pattern;
 import javax.servlet.http.HttpServletRequest;
 
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
 
-import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.LabelValueBean;
-
 /**
  * Form bean for the remote host valve page.
  *
  * @author Manveen Kaur
- * @version $Revision: 303192 $ $Date: 2004-09-03 04:33:06 -0500 (Fri, 03 Sep 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class RemoteHostValveForm extends ValveForm {
@@ -157,31 +152,26 @@
         
         ActionErrors errors = new ActionErrors();
         
-        String submit = request.getParameter("submit");
-        
         // front end validation when save is clicked.        
-        //if (submit != null) {
-             // TBD
-            // validate allow/deny IPs
-            if ((allow == null) || (allow.length() < 1)) {
-                if ((deny == null) || (deny.length() < 1)) {
-                    errors.add("allow",
-                    new ActionError("error.allow.deny.required"));
-                }
-            }              
-        //}
+        // validate allow/deny IPs
+        if ((allow == null) || (allow.length() < 1)) {
+            if ((deny == null) || (deny.length() < 1)) {
+                errors.add("allow",
+                new ActionMessage("error.allow.deny.required"));
+            }
+        }              
         
         try {
             allows = ValveUtil.precalculate(allow);            
         } catch (IllegalArgumentException e) {
-            errors.add("allow", new ActionError("error.syntax"));
+            errors.add("allow", new ActionMessage("error.syntax"));
             return errors;
         }
          
         try {   
             denies = ValveUtil.precalculate(deny);
         } catch (IllegalArgumentException e) {
-            errors.add("allow", new ActionError("error.syntax"));
+            errors.add("allow", new ActionMessage("error.syntax"));
             return errors;
         }
                  
@@ -198,23 +188,23 @@
             if (denies[i].matcher(host).matches()) {
                 if (allows.length < 1) {
                     errors.add("deny",
-                        new ActionError("error.denyHost"));
+                        new ActionMessage("error.denyHost"));
                 }    
                 for (int j = 0; j < allows.length; j++) {
                     if (!allows[j].matcher(host).matches()) { 
                         errors.add("deny",
-                        new ActionError("error.denyHost"));
+                        new ActionMessage("error.denyHost"));
                     }
                 }
             } else if (denies[i].matcher(ip).matches()) {
                 if (allows.length < 1) {
                     errors.add("deny",
-                        new ActionError("error.denyHost"));
+                        new ActionMessage("error.denyHost"));
                 }               
                 for (int j = 0; j < allows.length; j++) {
                     if (!allows[j].matcher(ip).matches()) { 
                         errors.add("deny",
-                        new ActionError("error.denyHost"));
+                        new ActionMessage("error.denyHost"));
                     }
                 }
             }
@@ -233,7 +223,7 @@
         }
         
         if (!allowMatch) {
-            errors.add("allow", new ActionError("error.allowHost"));
+            errors.add("allow", new ActionMessage("error.allowHost"));
         }        
         
         return errors;

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RequestDumperValveForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RequestDumperValveForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RequestDumperValveForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,17 +18,14 @@
 package org.apache.webapp.admin.valve;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
-import java.util.List;
 
 /**
  * Form bean for the Request Dumper valve page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302986 $ $Date: 2004-06-27 21:14:52 -0500 (Sun, 27 Jun 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class RequestDumperValveForm extends ValveForm {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveAccessLogValveAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveAccessLogValveAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveAccessLogValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,18 +21,12 @@
 import java.io.IOException;
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -43,7 +38,7 @@
  * <em>Edit Valve</em> transactions for AccessLog valve.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SaveAccessLogValveAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRemoteAddrValveAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRemoteAddrValveAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRemoteAddrValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,18 +21,12 @@
 import java.io.IOException;
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -43,7 +38,7 @@
  * <em>Edit Valve</em> transactions for Remote Addr valve.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SaveRemoteAddrValveAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRemoteHostValveAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRemoteHostValveAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRemoteHostValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -20,18 +21,12 @@
 import java.io.IOException;
 import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -43,7 +38,7 @@
  * <em>Edit Valve</em> transactions for Remote Host valve.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SaveRemoteHostValveAction extends Action {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRequestDumperValveAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRequestDumperValveAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRequestDumperValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -16,26 +17,15 @@
 
 package org.apache.webapp.admin.valve;
 
-import java.util.Locale;
 import java.io.IOException;
-import javax.management.Attribute;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectName;
-import javax.management.JMException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 
 /**
@@ -43,19 +33,11 @@
  * <em>Edit Valve</em> transactions for Request Dumper valve.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SaveRequestDumperValveAction extends Action {
 
-
-    // ----------------------------------------------------- Instance Variables
-
-    /**
-     * The MBeanServer we will be interacting with.
-     */
-    private MBeanServer mBServer = null;
-    
     // --------------------------------------------------------- Public Methods
     
     
@@ -82,36 +64,21 @@
         
         // Acquire the resources that we need
         HttpSession session = request.getSession();
-        Locale locale = getLocale(request);
-        MessageResources resources = getResources(request);
         
-        // Acquire a reference to the MBeanServer containing our MBeans
-        try {
-            mBServer = ((ApplicationServlet) getServlet()).getServer();
-        } catch (Throwable t) {
-            throw new ServletException
-            ("Cannot acquire MBeanServer reference", t);
-        }
-        
         // Identify the requested action
         RequestDumperValveForm vform = (RequestDumperValveForm) form;
         String adminAction = vform.getAdminAction();
-        String vObjectName = vform.getObjectName();
         String parent = vform.getParentObjectName();
         String valveType = vform.getValveType();
             
         // Perform a "Create Valve" transaction (if requested)
         if ("Create".equals(adminAction)) {
         
-            vObjectName = ValveUtil.createValve(parent, valveType, 
-                                response, request, mapping, 
+            ValveUtil.createValve(parent, valveType, response, request, mapping,
                                 (ApplicationServlet) getServlet());
            
         }
 
-        // Perform attribute updates as requested
-        String attribute = null;
-                
         // Forward to the success reporting page
         session.removeAttribute(mapping.getAttribute());
         return (mapping.findForward("Save Successful"));

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveSingleSignOnValveAction.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveSingleSignOnValveAction.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveSingleSignOnValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,24 +19,18 @@
 
 import java.util.Locale;
 import java.io.IOException;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
 
@@ -44,7 +39,7 @@
  * <em>Edit Valve</em> transactions for Single Sign On valve.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SaveSingleSignOnValveAction extends Action {
@@ -97,7 +92,6 @@
         // Identify the requested action
         SingleSignOnValveForm vform = (SingleSignOnValveForm) form;
         String adminAction = vform.getAdminAction();
-        String vObjectName = vform.getObjectName();
         String parent = vform.getParentObjectName();
         String valveType = vform.getValveType();
                
@@ -112,9 +106,9 @@
                                     ":type=Valve,name=SingleSignOn");               
                 
                 if (mBServer.isRegistered(oname)) {
-                    ActionErrors errors = new ActionErrors();
+                    ActionMessages errors = new ActionMessages();
                     errors.add("singleSignOnValve",
-                               new ActionError("error.singleSignOn.exists"));
+                               new ActionMessage("error.singleSignOn.exists"));
                     saveErrors(request, errors);
                     return (new ActionForward(mapping.getInput()));
                 } 
@@ -130,15 +124,11 @@
 
             }
             
-            vObjectName = ValveUtil.createValve(parent, valveType, 
-                                response, request, mapping, 
-                                (ApplicationServlet) getServlet());
+            ValveUtil.createValve(parent, valveType, response, request, mapping,
+                    (ApplicationServlet) getServlet());
                       
         }
 
-        // Perform attribute updates as requested
-        String attribute = null;
-    
         // Forward to the success reporting page
         session.removeAttribute(mapping.getAttribute());
         return (mapping.findForward("Save Successful"));

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SingleSignOnValveForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SingleSignOnValveForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SingleSignOnValveForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,21 +18,14 @@
 package org.apache.webapp.admin.valve;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
-import java.net.InetAddress;
-import java.util.List;
 
-import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.LabelValueBean;
-
 /**
  * Form bean for the single sign on valve page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302986 $ $Date: 2004-06-27 21:14:52 -0500 (Sun, 27 Jun 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class SingleSignOnValveForm extends ValveForm {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -17,21 +18,15 @@
 package org.apache.webapp.admin.valve;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionMapping;
-import java.net.InetAddress;
 import java.util.List;
 
-import org.apache.webapp.admin.ApplicationServlet;
-import org.apache.webapp.admin.LabelValueBean;
-
 /**
  * Form bean for the generic valve page.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public class ValveForm extends ActionForm {
@@ -49,12 +44,6 @@
     private String objectName = null;
 
     /**
-     * The text for the valve name, used to retrieve
-     * the corresponding valve mBean.
-     */
-    private String valveName = null;
-    
-    /**
      * The text for the valve type.
      */
     private String valveType = null;

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveUtil.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveUtil.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveUtil.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2001-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -18,29 +19,17 @@
 
 import java.net.URLEncoder;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.Locale;
 import java.io.IOException;
 import java.util.regex.Pattern;
 import java.util.regex.PatternSyntaxException;
-import javax.management.Attribute;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.QueryExp;
-import javax.management.Query;
-import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.management.JMException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts.Globals;
-import org.apache.struts.action.Action;
-import org.apache.struts.action.ActionError;
-import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 import org.apache.struts.util.MessageResources;
 import org.apache.webapp.admin.ApplicationServlet;
@@ -52,7 +41,7 @@
  * A utility class that contains methods common across valves.
  *
  * @author Manveen Kaur
- * @version $Revision: 303390 $ $Date: 2004-10-18 01:37:56 -0500 (Mon, 18 Oct 2004) $
+ * @version $Revision: 479010 $ $Date: 2006-11-24 14:46:09 -0700 (Fri, 24 Nov 2006) $
  */
 
 public final class ValveUtil {
@@ -94,10 +83,6 @@
         String vObjectName = null;
         
         try {
-            
-            String objectName = ValveUtil.getObjectName(parent,
-            TomcatTreeBuilder.VALVE_TYPE);
-                        
             String parentNodeName = parent;
             ObjectName pname = new ObjectName(parent);
             StringBuffer sb = new StringBuffer(pname.getDomain());

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValvesForm.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValvesForm.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValvesForm.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  * Form bean for deleting valves.
  *
  * @author Manveen Kaur
- * @version $Revision: 302726 $ $Date: 2004-02-27 08:59:07 -0600 (Fri, 27 Feb 2004) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ValvesForm extends ActionForm {

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/connector/connector.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/connector/connector.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/connector/connector.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -396,11 +396,6 @@
             <controls:label><bean:message key="connector.keystore.password"/>:</controls:label>
             <controls:data>
                 <html:password property="keyStorePassword" size="30" styleId="password"/>
-                <%--
-                <logic:equal name="connectorForm" property="adminAction" value="Edit">
-                   <bean:write name="connectorForm" property="keyStorePassword"/>
-                </logic:equal>
-                --%>
             </controls:data>
         </controls:row>
         </logic:equal>
@@ -418,6 +413,42 @@
             </controls:data>
         </controls:row>
 
+        <%-- Input allowed only on create --%>
+        <controls:row labelStyle="table-label-text" dataStyle="table-normal-text" styleId="truststore">
+            <controls:label><bean:message key="connector.truststore.filename"/>:</controls:label>
+            <controls:data>
+            <logic:equal name="connectorForm" property="adminAction" value="Create">
+                <html:text property="trustStoreFileName" size="30" styleId="truststore"/>
+             </logic:equal>
+             <logic:equal name="connectorForm" property="adminAction" value="Edit">
+               <bean:write name="connectorForm" property="trustStoreFileName"/>
+             </logic:equal>
+            </controls:data>
+        </controls:row>
+
+        <%-- input password allowed only while creating connector --%>
+        <logic:equal name="connectorForm" property="adminAction" value="Create">
+        <controls:row labelStyle="table-label-text" dataStyle="table-normal-text" styleId="trustpassword">
+            <controls:label><bean:message key="connector.truststore.password"/>:</controls:label>
+            <controls:data>
+                <html:password property="trustStorePassword" size="30" styleId="trustpassword"/>
+            </controls:data>
+        </controls:row>
+        </logic:equal>
+
+        <%-- Input allowed only on create --%>
+        <controls:row labelStyle="table-label-text" dataStyle="table-normal-text" styleId="trusttype">
+            <controls:label><bean:message key="connector.truststore.type"/>:</controls:label>
+            <controls:data>
+            <logic:equal name="connectorForm" property="adminAction" value="Create">
+                <html:text property="trustStoreType" size="30" styleId="trusttype"/>
+             </logic:equal>
+             <logic:equal name="connectorForm" property="adminAction" value="Edit">
+               <bean:write name="connectorForm" property="trustStoreType"/>
+             </logic:equal>
+            </controls:data>
+        </controls:row>
+
         <controls:row labelStyle="table-label-text" dataStyle="table-normal-text" styleId="sslProtocol">
             <controls:label><bean:message key="connector.sslProtocol"/>:</controls:label>
             <controls:data>

Modified: branches/tomcat5.5/upstream/current/container/webapps/admin/resources/envEntry.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/admin/resources/envEntry.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/admin/resources/envEntry.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -131,7 +131,7 @@
               <bean:message key="service.value"/>:
             </controls:label>
             <controls:data>
-              <html:text property="value" size="24" styleId="value"/>
+              <html:textarea property="value" cols="30" rows="3" styleId="value"/>
             </controls:data>
           </controls:row>
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/BalancerFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/BalancerFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/BalancerFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2000,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/Rule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/Rule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/Rule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2000,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/RuleChain.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/RuleChain.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/RuleChain.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2000,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/RulesParser.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/RulesParser.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/RulesParser.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2000,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/AcceptEverythingRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/AcceptEverythingRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/AcceptEverythingRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2000,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/BaseRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/BaseRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/BaseRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2000,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RemoteAddressRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RemoteAddressRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RemoteAddressRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2000,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestAttributeRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestAttributeRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestAttributeRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2000,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestHeaderRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestHeaderRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestHeaderRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2000,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestParameterRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestParameterRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestParameterRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2000,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/SessionAttributeRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/SessionAttributeRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/SessionAttributeRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2000,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/URLStringMatchRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/URLStringMatchRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/URLStringMatchRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2000,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/UserRoleRule.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/UserRoleRule.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/UserRoleRule.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2000,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/appdev/sample/src/mypackage/Hello.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/appdev/sample/src/mypackage/Hello.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/appdev/sample/src/mypackage/Hello.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/building.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/building.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/building.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -13,6 +13,13 @@
 
 <body>
 
+<section name="README">
+<p>
+This document duplicates some of the information from the BUILDING.txt file
+included in every Tomcat distribution.  You may want to consult both.
+</p>
+</section>
+
 <section name="Introduction">
 
 <p>
@@ -167,6 +174,10 @@
 under the IDE, and so on.
 </p>
 
+<p>You will want to set up your Eclipse project for building Tomcat such that
+${tomcatSource} is the Workspace folder.
+</p>
+
 <p>
 Use Windows-&gt;Preferences and then Java-&gt;Build Path-&gt;Classpath
 Variables to add two new Classpath variables:
@@ -183,8 +194,9 @@
 Use File-&gt;New Project to create a new Java project 
 for each of the binaries repository (e.g., /usr/share/java), 
 container, connectors, jasper, servletapi. 
-Unless you thought ahead to make the ${tomcat.source} directory be under
-your Workspace folder, tell Eclipse the external location using &quot;Import/Export...&quot;,
+If you didn't already set up the Eclipse project such that ${tomcat.source} 
+is the Workspace folder, do so now: 
+tell Eclipse the external location using &quot;Import/Export...&quot;,
 General-&gt;Existing Project into Workspace.
 </p>
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/changelog.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/changelog.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/changelog.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -14,6 +14,434 @@
   </properties>
 
 <body>
+<section name="Tomcat 5.5.23 (fhanik)">
+  <subsection name="Catalina">
+    <changelog>
+      <fix>
+        <bug>41608</bug> Make log levels consistent when Servlet.service()
+        throws an exception. (markt)
+      </fix>
+      <fix>
+        <bug>41666</bug> Correct handling of boundary conditions for
+        If-Unmodified-Since and If-Modified-Since headers. Patch provided by
+        Suzuki Yuichiro. (markt)
+      </fix>
+      <fix>
+        <bug>41674</bug> Fix error messages when parsing context.xml that
+        incorrectly referred to web.xml. (markt)
+      </fix>
+      <fix>
+        <bug>41739</bug> Correct handling of servlets with a load-on-startup
+        value of zero. These are now the first servlets to be started. (markt)
+      </fix>
+    </changelog>
+  </subsection>
+  <subsection name="Coyote">
+    <changelog>
+      <fix>
+        Requests with multiple content-length headers are now rejected. (markt)
+      </fix>
+    </changelog>
+  </subsection>
+</section>
+
+<section name="Tomcat 5.5.22 (fhanik)">
+  <subsection name="General">
+    <changelog>
+      <fix>
+        Fix regression in build that prevented connectors from building.
+        (markt)
+      </fix>
+    </changelog>
+  </subsection>
+</section>
+
+<section name="Tomcat 5.5.21 (fhanik)">
+  <subsection name="Catalina">
+    <changelog>
+      <fix>
+        <bug>41401</bug>: StandardService.getConnectorNames() return array of 
+        Connector JMX objectnames. (pero)
+      </fix>
+      <fix>
+        <bug>29727</bug>: If env-entry values in web.xml are changed then
+        ensure new values are applied when context is reloaded. (markt)
+      </fix>
+      <fix>
+        <bug>34956</bug>: Ensure request and response objects passed to a
+        RequestDispatcher meet the requirements of SRV.8.2 and
+        SRV.14.2.5.1. This is disabled by default. The Java option 
+        <code>-Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=true</code>
+        is required to enable this test. (markt)
+      </fix>
+      <fix>
+        <bug>36274</bug>: When including static content with the
+        DefaultServlet also treat content types ending in xml as text.
+        (markt)
+      </fix>
+      <fix>
+        <bug>36976</bug>: Don't use CATALINA_OPTS when stopping Tomcat. This
+        allows options for starting and stopping to be set on JAVA_OPTS and
+        options for starting only to be set on CATALINA_OPTS. Without this
+        fix, some startup options (eg the port for remote JMX) would cause
+        stop to fail. Based on a fix suggested by Michael Vorburger. (markt)
+      </fix>
+      <fix>
+        <bug>37070</bug>: Update mbean name documentation to include the
+        StandardWrapper. (markt)
+      </fix>
+      <fix>
+        <bug>37356</bug>: Ensure sessions time out correctly. This has been
+        fixed by removing the accessCount feature by default. This feature
+        prevents the session from timing out whilst requests that last
+        longer than the session time out are being processed. This feature
+        is enabled by setting the Java option 
+        <code>-Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=true</code>
+        The feature is now implemented with synchronization which addresses
+        the thread safety issues associated with the original bug report.
+        (markt)
+      </fix>
+      <fix>
+        <bug>37439</bug>: Update documentation for Engine component to add
+        the requirement that the name must be unique. (markt)
+      </fix>
+      <fix>
+        <bug>37458</bug>: Add syncs to the WebappClassloader to address
+        rare issues when multiple threads attempt to load the same class
+        concurrently. (markt)
+      </fix>
+      <fix>
+        <bug>37509</bug>: Do not remove whitespace from the end of values
+        defined in logging.properties files. (markt)
+      </fix>
+      <fix>
+        <bug>38198</bug>: Add reference to Context documentation from Host
+        documentation that explains how Context name is obtained from the
+        Context filename. (markt)
+      </fix>
+      <fix>
+        <bug>39088</bug>: Prevent infinte loops when an exception is thrown
+        that returns itself for getRootCause(). Based on a patch by Wouter
+        Zelle. (markt)
+      </fix>
+      <fix>
+        <bug>39436</bug>: Correct MIME type for SVG. (markt)
+      </fix>
+      <fix>
+        <bug>39627</bug>: JULI no longer ignores a ".level=XXX" directive
+        in logging.properties. Patch provided by Roger Keays and Richard
+        Fearn. (markt)
+      </fix>
+      <fix>
+        <bug>39724</bug>: Removing the last valve from a pipeline did not
+        return the pipeline to the original state. Patch provided by
+        David Gagon. (markt)
+      </fix>
+      <fix>
+        <bug>40367</bug>: Update JK auto configuration documentation to clarify
+        that workers.properties must also exist. (markt)
+      </fix>
+      <fix>
+        <bug>40524</bug>: HttpServletRequest.getAuthType() now returns
+        CLIENT_CERT rather than CLIENT-CERT for certificate authentication
+        as per the spec. Note that web.xml continues to use CLIENT-CERT to
+        specify the certificate authentication should be used. (markt)
+      </fix>
+      <fix>
+        <bug>40526</bug>: Add support for JPDA_OPTS to catalina.bat and add a
+        JPDA_SUSPEND environment variable to both startup scripts. Patch
+        provided by Kurt Roy. (markt)
+      </fix>
+      <fix>
+        <bug>40528</bug>: Add missing message localisations as provided by
+        Ben Clifford. (markt)
+      </fix>
+      <fix>
+        <bug>40585</bug>: Fix parameterised constructor for o.a.juli.FileHandler
+        so parameters have an effect. (markt)
+      </fix>
+      <fix>
+        <bug>40625</bug>: Stop CGIServlet swallowing the root cause of an
+        exception. Patch provided by Takayoshi Kimura. (markt)
+      </fix>
+      <fix>
+        <bug>40723</bug>: Correct table creation example in JavaDoc for
+        JDBCAccessLogValve. (markt)
+      </fix>
+      <fix>
+        <bug>40802</bug>: Add jsp-api.jar to fileset in catalina-tasks.xml as provided by
+        Daniel Santos. (pero)
+      </fix>
+      <fix>
+        <bug>40817</bug>: Correct problem where CGI scripts in the root of the
+        ROOT context threw a <code>StringIndexOutOfBoundsException</code>.
+        (markt)
+      </fix>
+      <update>
+        Set the <code>SCRIPT_FILENAME</code> environment variable required
+        by PHP when using the CGIServlet to execute PHP. (markt)
+      </update>
+      <fix>
+        <bug>40823</bug>: Update context doc to clarify use of ROOT.xml,
+        multi-level context paths and to further discourage use of server.xml
+        (markt)
+      </fix>
+      <fix>
+        <bug>40844</bug>: Add additional syncs to JDBCRealm to resolve NPE when
+        two users try to authenticate using DIGEST authentication at the same
+        time. (markt)
+      </fix>
+      <fix>
+        <bug>40860</bug>: Log exceptions and other problems during parameter
+        processing. (markt)
+      </fix>
+      <fix>
+        <bug>40901</bug>: Encode directory listing output. Based on a patch
+        provided by Chris Halstead. (markt)
+      </fix>
+      <fix>
+        <bug>40929</bug>: Correct JavaDoc for StandardCalssLoader. (markt)
+      </fix>
+      <fix>
+        <bug>41008</bug>: Allow POST to be used for indexed queries with CGI
+        Servlet. Patch provided by Chris Halstead. (markt)
+      </fix>
+      <fix>
+        <bug>41020</bug>: Improve error message when custom error report Valve
+        fails to load. Also remove requirement that custom error report Valves
+        extend ValveBase. (markt)
+      </fix>
+      <fix>
+        <bug>41217</bug>: Set secure attribute on SSO cookie when cookie is
+        created during a secure request. Patch provided by Chris Halstead.
+        (markt)
+      </fix>
+      <fix>
+        Ensure Accept-Language headers conform to RFC 2616. Ignore them if
+        they do not. (markt)
+      </fix>
+      <fix>
+        Make provided instances of RequestDispatcher thread safe. (markt)
+      </fix>
+      <fix>
+        Fix formatting of CGI variable SCRIPT_NAME. (markt)
+      </fix>
+      <fix>
+        <bug>34643</bug>: Improved documentation for per-user / per-session clientAuth
+        usage in SSL Authenticator.  Docs provided by jack and Ralf Hauser.  (yoavs)
+      </fix>
+      <fix>
+        <bug>40668</bug>: Update release notes and readme files specific to v5.5.20 to 
+        notify users of missing MailSessionFactory in distribution, suggest workarounds,
+        and link to relevant Bugzilla issue. (yoavs)
+      </fix>
+      <fix>
+        <bug>37977</bug>: adapt BUILDING.txt and net build.xml for SVN.  Patch by
+        Christopher Sahnwaldt. (yoavs)
+      </fix>
+      <update>
+        <bug>39055</bug>: Link to sample workaround code for using JSR160 JMX monitoring
+        with a local firewall.  Thanks to George Lindholm for the patch. (yoavs)
+      </update>
+      <update>
+        <bug>39476</bug>: add xml declaration to most build.xml files, as suggested by
+        Gregory S. Hoerner Sr. (yoavs)
+      </update>
+      <fix>
+        <bug>40326</bug>: stop using File#deleteOnExit in DefaultServlet to avoid
+        JVM memory leak, as suggested by quartz. (yoavs)
+      </fix>
+      <fix>
+        <bug>40192</bug>: update setup.html notes regarding Windows tray icon. (yoavs)
+      </fix>
+      <fix>
+        <bug>40177</bug>: add more warnings to documentation about RequestDumperValve
+        character encoding.  (yoavs)
+      </fix>
+      <fix>
+        <bug>39255</bug>: NPE in AuthenticatorBase when logging level is set to DEBUG
+        and no prinicpal found. (yoavs)
+      </fix>
+      <fix>
+        <bug>41437</bug>: Make log messages and loglevel consistent during Context
+        start. Patch provided by Suzuki Yuichiro. (markt)
+      </fix>
+    </changelog>
+  </subsection> 
+  <subsection name="Coyote">
+    <changelog>
+      <fix>
+        <bug>38332</bug>: Add backlog attribute to ChannelSocket as provided by
+         Takayoshi Kimura. (pero)
+      </fix>
+      <update>
+        Backport packetSize feature from Tomcat 6.0.x at standard coyote AJP Jk handler. (pero)
+      </update>
+      <fix>
+        <bug>40771</bug>: Fix implementation of
+        SavedRequestInputFilter.doRead() so POST data may be read using a
+        Valve or Filter. Patch provided by Michael Dufel. (markt)
+      </fix>
+      <fix>
+        <bug>41017</bug>: Restore behaviour of MessageBytes.setString(null).
+        (remm/markt)
+      </fix>
+      <fix>
+        <bug>41057</bug>: Modify StringCache to add a configurable upper bound
+        to the length of cached strings. (remm/markt)
+      </fix>
+      <fix>
+        <bug>38774</bug>: Check javax.net.ssl.keyStorePassword system property as a secondary
+        source for keystore password in JSSESocketFactory, as suggested by Ted X. Toth. (yoavs)
+      </fix>
+      <fix>
+        <bug>39402</bug>: Modify existing Vary HTTP header, rather than overwrite it, if it
+        exists when using GZip compression.  Patch by Matthew Cooke. (yoavs)
+      </fix>
+      <fix>
+        <bug>40241</bug>: Catch Exceptions instead of Throwables in Default and SSI servlets.
+        Also improve relevant logging while we're at it. (yoavs)
+      </fix>
+      <fix>
+        <bug>40133</bug>: Better error message when context name is not available on startup,
+        as suggested by Andreas Plesner Jacobsen. (yoavs)
+      </fix>
+    </changelog>
+  </subsection> 
+  <subsection name="Jasper">
+    <changelog>
+      <fix>
+        <bug>39975</bug>: don't have static Log references to prevent
+        classloader leaks. (yoavs)
+      </fix>
+      <fix>
+        <bug>40104</bug>: When displaying JSP source after an exception, handle
+        included files. (markt)
+      </fix>
+      <fix>
+        <bug>40797</bug>: This was a regression as a result of the fix for
+        <bug>33407</bug>. TLD validation was failing as a result of the use
+        of the escape character (0x1b) as a temporary replacement for \$.
+        An alternative character (0xe000) from the unicode private use range
+        is now used. (markt)
+      </fix>
+      <fix>
+        <bug>41057</bug>: Make jsp:plugin output XHTML compliant. (markt)
+      </fix>
+      <fix>
+        <bug>41327</bug>: Show full URI for a 404. Patch provided by Vijay.
+        (markt)
+      </fix>
+      <fix>
+        <bug>41265</bug>: Allow JspServlet checkInterval init parameter to be
+        explicitly set to the stated default value of zero by removing the
+        code that resets it to 300 if explicitly specified as zero. (markt)
+      </fix>
+      <fix>
+        Display the JSP source when a compilation error occurs and display
+        the correct line number rather than start of a scriptlet block. (markt)
+      </fix>
+    </changelog>
+  </subsection> 
+  <subsection name="Webapps">
+    <changelog>
+      <fix>
+        <bug>34952</bug>: Clarify that the Windows Installer always installs
+        a Windows service. (markt)
+      </fix>
+      <fix>
+        <bug>35968</bug>: Make environment entry properties input a text area.
+        Patch provided by Tristan Marly. (markt)
+      </fix>
+      <fix>
+        <bug>37588</bug>: Fix creation of JNDI Realm in admin application. Patch
+        provided by Terry Zhou. (markt)
+      </fix>
+      <fix>
+        <bug>38048</bug>: Fix memory leak assoaciated with use of expression
+        language in JSPs. Patch provided by Taras Tielkes. (markt)
+      </fix>
+      <fix>
+        <bug>39572</bug>: Improvements to CompressionFilter example provided by
+        Eric Hedström. (markt)
+      </fix>
+      <update>
+        <bug>40507</bug>: Update host-manager and servlet-examples web-apps to
+        use the servlet 2.4 xsd. Patch provided by Chris Halstead. (markt)
+      </update>
+      <fix>
+        <bug>40581</bug>: Add information on the use of a symbloic link as the
+        docBase for a Context to the Context documentation. (markt)
+      </fix>
+      <fix>
+        <bug>40633</bug>: Remove references to the DefaultContext from the
+        documentation. (markt)
+      </fix>
+      <fix>
+        <bug>40677</bug>: Update SSL documentation to indicate that PKCS11
+        keystores may be used. (markt)
+      </fix>
+      <fix>
+        <bug>40714</bug>: Admin webapp no longer requires a username for a
+        DataSource since it is not required in all cases. (markt)
+      </fix>
+      <fix>
+        <bug>40720</bug>: Fix exception in admin webapp when adding a group to
+        a user. (markt)
+      </fix>
+      <fix>
+        <bug>40874</bug>: Correct log4j configuration in documentation webapp.
+        Patch provided by Franck Borel. (markt)
+      </fix>
+      <fix>
+        <bug>40999</bug>: Add trust store configuration for SSL connectors to
+        the admin webapp. (markt)
+      </fix>
+      <fix>
+        <bug>41051</bug>: Add information on keystore aliases and case
+        sensitivity to SSL HOW-TO. (markt)
+      </fix>
+      <fix>
+        <bug>41182</bug>: Update the Jasper documentation for the classpath
+        attribute. (markt)
+      </fix>
+      <fix>
+        <bug>41493</bug>: Fix handling of APR connectors in Admin webapp.
+        (markt)
+      </fix>
+      <fix>
+        <bug>41512</bug>: Version number was not inserted in release notes.
+        (markt)
+      </fix>
+      <fix>
+        <bug>40257</bug>: Update Manager webapp howto on remote deployment to reflect
+        need for explicit path in one specific use-case.  Thanks to Venkatesh Jayaraman. (yoavs)
+      </fix>
+      <update>
+        <bug>40160</bug>: add reference to the Filter proposed in this Bugzilla item to the WebdavServlet.
+        While at it, give the WebdavServlet some long-overdue TLC by cleaning up some of the old data
+        structures in favor of modern (but still JDK 1.4-compliant) interfaces. (yoavs)
+      </update>
+      <docs>
+        Add a virtual hosting how-to contributed by Hassan Schroeder. (markt)
+      </docs>
+    </changelog>
+  </subsection> 
+  <subsection name="Cluster">
+    <changelog>
+      <add>
+        Add clustered SSO code and backport feature from Tomcat 6.0.x,
+        submitted by Fabien Carrion (pero)
+      </add>    
+      <add>
+        Add better recovery at FastAsyncQueueSender. Made the startegy more robust for temporary connection problems (pero)
+      </add>
+    </changelog>
+  </subsection>   
+
+</section>
+
+
 <section name="Tomcat 5.5.20 (fhanik)">
   <subsection name="Catalina">
     <changelog>
@@ -21,6 +449,11 @@
         Fix logic error in UserDatbaseRealm.getprincipal() that caused user
         roles assigned via groups to be ignored. (markt)
       </fix>
+      <fix>
+        <bug>40518</bug>: Use correct message when a RuntimeException is
+        thrown from the requestInitialized or requestDestroyed method of
+        a listener that implements ServletRequestListener. (markt)
+      </fix>
     </changelog>
   </subsection> 
   <subsection name="Jasper">
@@ -39,8 +472,20 @@
         <bug>33407</bug>: The string \$ in template text was reduced to $
         when the isELIgnored page directive was set to true. (markt)
       </fix>
+      <fix>
+        <bug>34509</bug>: Tag names may now use the full range of
+        characters permitted by xsd:nmtoken. (markt)
+      </fix>
     </changelog>
   </subsection>   
+  <subsection name="Webapps">
+    <changelog>
+      <fix>
+        <bug>34399</bug>: Disable undeploy for applications that have not
+        been deployed such as those defined in server.xml (markt)
+      </fix>
+    </changelog>
+  </subsection> 
 </section>
 
 
@@ -417,7 +862,7 @@
         HttpSession.getId will no longer throw an ISE when the session is invalid (remm)
       </fix>
       <fix>
-         ore detailed errors for naming issues (remm)
+         More detailed errors for naming issues (remm)
       </fix>
       <docs>
         Add documentation for the Transaction element (remm)

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/cluster-howto.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/cluster-howto.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/cluster-howto.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -338,7 +338,7 @@
         /&gt;
         &lt;Engine            name="Catalina" 
                    defaultHost="localhost" 
-                        jvmRoute="node1"&gt;
+                        jvmRoute="node01"&gt;
         &lt;Realm        className="org.apache.catalina.realm.UserDatabaseRealm"
                    resourceName="UserDatabase" /&gt;
             &lt;Host          name="localhost"
@@ -491,6 +491,8 @@
                   &lt;Sender
                                            className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
                                      replicationMode="fastasyncqueue"
+                                      recoverTimeout="5000"
+                                      recoverCounter="6"
                         doTransmitterProcessingStats="true"
                                    doProcessingStats="true"
                                       doWaitAckStats="true"
@@ -557,7 +559,7 @@
   <tr>
     <td>ackTimeout</td>
     <td>acknowledge timeout and only usefull it waitForAck is true</td>
-    <td><code>15000</code></td>
+    <td><code>15000 msec</code></td>
   </tr>
   
   <tr>
@@ -608,7 +610,7 @@
   <tr>
     <td>keepAliveTimeout</td>
     <td>active socket keep alive timeout</td>
-    <td><code>60000</code></td>
+    <td><code>60000 msec</code></td>
   </tr>  
 
   <tr>
@@ -636,6 +638,18 @@
   </tr>
 
   <tr>
+    <td>recoverTimeout</td>
+    <td>recover Timeout after push message failure </td>
+    <td><code>5000 msec</code></td>
+  </tr>
+
+  <tr>
+    <td>recoverCounter</td>
+    <td>number of recover tries</td>
+    <td><code>0</code></td>
+  </tr>
+
+  <tr>
     <td>queueDoStats</td>
     <td>activated queue stats</td>
     <td><code>false</code></td>
@@ -649,12 +663,12 @@
   <tr>
     <td>queueAddWaitTimeout</td>
     <td>queue add wait time (tomcat connector thread waits)</td>
-    <td><code>10000</code></td>
+    <td><code>10000 msec</code></td>
   </tr>
   <tr>
     <td>queueRemoveWaitTimeout</td>
     <td>queue remove wait time (queue thread waits)</td>
-    <td><code>30000</code></td>
+    <td><code>30000 msec</code></td>
   </tr>
   
   <tr>
@@ -672,17 +686,20 @@
   
 </p>
 <p>
-Example to get a lot of statistic information and no wait for ACK<br/>
+Example to get a lot of statistic information, wait for ACK and
+recover after connection failure (wait 5 secs and 6 trails (==30 secs Mcast Timeout) <br/>
 <source>
     &lt;Sender
       className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
       replicationMode="fastasyncqueue"
+      recoverTimeout="5000"
+      recoverCounter="6"      
       doTransmitterProcessingStats="true"
       doProcessingStats="true"
       queueTimeWait="true"
       queueDoStats="true"
       queueCheckLock="true"
-      waitForAck="false"
+      waitForAck="true"
       autoConnect="false"
       keepAliveTimeout="320000"
       keepAliveMaxRequestCount="-1"/&gt;
@@ -704,7 +721,7 @@
   <tr>
     <td>keepAliveTimeout</td>
     <td>active socket keep alive timeout</td>
-    <td><code>60000</code></td>
+    <td><code>60000 msec</code></td>
   </tr>  
 
   <tr>
@@ -764,7 +781,7 @@
   <tr>
     <td>keepAliveTimeout</td>
     <td>active socket keep alive timeout</td>
-    <td><code>60000</code></td>
+    <td><code>60000 msec</code></td>
   </tr>  
 
   <tr>
@@ -821,7 +838,7 @@
   <tr>
     <td>keepAliveTimeout</td>
     <td>active socket keep alive timeout</td>
-    <td><code>60000</code></td>
+    <td><code>60000 msec</code></td>
   </tr>  
 
   <tr>
@@ -900,7 +917,7 @@
     <td>stateTransferTimeout</td>
     <td>Timeout that session state transfer is complete. Is attribute <code>stateTransferTimeout == -1</code> 
         then application wait that other node send the complete session state</td>
-    <td><code>60</code></td>
+    <td><code>60 sec</code></td>
   </tr>
   
   <tr>
@@ -918,7 +935,7 @@
   <tr>
     <td>sendAllSessionsWaitTime</td>
     <td>wait time between two session send blocks.</td>
-    <td><code>2000</code></td>
+    <td><code>2000 msec</code></td>
   </tr>
 
   <tr>

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/config/ajp.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/config/ajp.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/config/ajp.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -8,7 +8,7 @@
 
   <properties>
     <author email="remm at apache.org">Remy Maucherat</author>
-    <author email="yoavs at apache.org">Yoav Shapira</author>
+    <author>Yoav Shapira</author>
     <author email="arjaquith at mindspring.com">Andrew R. Jaquith</author>
     <title>The AJP Connector</title>
   </properties>
@@ -203,7 +203,7 @@
       <p>The maximum queue length for incoming connection requests when
       all possible request processing threads are in use.  Any requests
       received when the queue is full will be refused.  The default
-      value is 10.</p>
+      value is 100.</p>
     </attribute>
 
     <attribute name="bufferSize" required="false">

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/config/context.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/config/context.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/config/context.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -37,36 +37,37 @@
   directory hierarchy).</p>
 
   <p>You may define as many <strong>Context</strong> elements as you
-  wish.  Each such Context MUST have a unique
-  context path, which is defined by the <code>path</code> attribute.
-  In addition, you MUST define a Context with a context path equal to
+  wish.  Each such Context MUST have a unique context path. In
+  addition, a Context must be present with a context path equal to
   a zero-length string.  This Context becomes the <em>default</em>
   web application for this virtual host, and is used to process all
   requests that do not match any other Context's context path.</p>
 
-  <p>In addition to nesting <strong>Context</strong> elements inside a
-  <a href="host.html">Host</a> element, you can also store them:</p>
+  <p><b>For Tomcat 5, unlike Tomcat 4.x, it is NOT recommended to place
+  &lt;Context&gt; elements directly in the server.xml file.</b> This
+  is because it makes modifing the <strong>Context</strong> configuration
+  more invasive since the main <code>conf/server.xml</code> file cannot be
+  reloaded without restarting Tomcat.</p>
+
+  <p><strong>Context</strong> elements may be explicitly defined:
   <ul>
-  <li>in the individual <code>$CATALINA_HOME/conf/context.xml</code> file: 
+  <li>in the <code>$CATALINA_HOME/conf/context.xml</code> file: 
   the Context element information will be loaded by all webapps</li>
-  <li>in the individual 
+  <li>in the 
   <code>$CATALINA_HOME/conf/[enginename]/[hostname]/context.xml.default</code>
   file: the Context element information will be loaded by all webapps of that
   host</li>
   <li>in individual files (with a ".xml" extension) in the 
-  <code>$CATALINA_HOME/conf/[enginename]/[hostname]/</code> directory</li>
-  <li>if the previous file was not found for this application, in individual file
-  at <code>/META-INF/context.xml</code> inside the application files</li>
+  <code>$CATALINA_HOME/conf/[enginename]/[hostname]/</code> directory.
+  The name of the file (less the .xml) extension will be used as the
+  context path. Multi-level context paths may be defined using #, e.g.
+  <code>context#path.xml</code>. The default web application may be defined
+  by using a file called <code>ROOT.xml</code>.</li>
+  <li>if the previous file was not found for this application, in an individual
+  file at <code>/META-INF/context.xml</code> inside the application files</li>
+  <li>inside a <a href="host.html">Host</a> element in the main
+  <code>conf/server.xml</code></li>
   </ul>
-  <p>See
-  <a href="host.html#Automatic Application Deployment">Automatic
-  Application Deployment</a> for more information. This method allows dynamic
-  reconfiguration of the web application, since the main 
-  <code>conf/server.xml</code> file cannot be reloaded without restarting
-  Tomcat. <b>Please note that for tomcat 5, unlike tomcat 4.x, it is NOT
-  recommended to place &lt;Context&gt; elements directly in the server.xml file.</b>
-  Instead, put them in the META-INF/context.xml directory of your WAR file or
-  the conf directory as described above.
   </p>
 
   <p>In addition to explicitly specified Context elements, there are
@@ -145,14 +146,23 @@
         an absolute pathname for this directory or WAR file, or a pathname
         that is relative to the <code>appBase</code> directory of the
         owning <a href="host.html">Host</a>.</p>
+        <p>If a symbolic link is used for docBase then changes to the
+        symbolic link will only be effective after a Tomcat restart or
+        by undeploying and redeploying the conext. A context reload is not
+        sufficient.</p>
+        <p>Do not choose a docBase that starts with your Host's appBase string.
+        The default appBase is "webapps" so do not choose a docBase like
+        "webapps-foo."  Doing so will lead to deployment errors: see 
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39013" title="Bugzilla 39013">Bugzilla</a>
+        for details.</p>
       </attribute>
 
       <attribute name="override" required="false">
         <p>Set to <code>true</code> to have explicit settings in this
         Context element override any corresponding settings in the
-        <a href="defaultcontext.html">DefaultContext</a> element associated
-        with our owning <a href="host.html">Host</a>.  By default, settings
-        in the DefaultContext element will be used.</p>
+        default settings associated with the owning
+        <a href="host.html">Host</a>.  The default is <code>false</code>.
+        </p>
       </attribute>
 
       <attribute name="privileged" required="false">
@@ -169,7 +179,7 @@
         defining the <em>default</em> web application for this Host, which
         will process all requests not assigned to other Contexts. The value of
         this field must not be set except when statically defining a Context in
-        server.xml, as it will be infered from the filenames used for either the 
+        server.xml, as it will be inferred from the filenames used for either the 
         .xml context file or the docBase.</p>
       </attribute>
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/config/engine.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/config/engine.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/config/engine.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -77,7 +77,10 @@
       </attribute>
 
       <attribute name="name" required="true">
-        <p>Logical name of this Engine, used in log and error messages.</p>
+        <p>Logical name of this Engine, used in log and error messages. <em>When
+        using muliple <a href="service.html">Service</a> elements in the same
+        <a href="server.html">Server</a>, each Engine MUST be assigned a unique
+        name.</em></p>
       </attribute>
 
     </attributes>
@@ -111,10 +114,6 @@
   have a name that matches the name specified for the
   <code>defaultHost</code> attribute, listed above.</p>
 
-  <p>You can optional nest a <a href="defaultcontext.html">DefaultContext</a>
-  element inside this <strong>Engine</strong> element, to define the default
-  characteristics of web applications that are automatically deployed.</p>
-
   <p>You can nest at most one instance of the following utility components
   by nesting a corresponding element inside your <strong>Engine</strong>
   element:</p>

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/config/globalresources.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/config/globalresources.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/config/globalresources.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -203,7 +203,7 @@
     <p>Use <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> 
     elements to link resources from the global context into 
     per-web-application contexts. Here is an example of making a custom 
-    factory available to all applications in the server, based on the example 
+    factory available to a web applications, based on the example 
     definition in the 
     <a href="../jndi-resource-howto.html#Generic JavaBean Resources">
     JNDI Resource HOW-TO</a>:
@@ -211,13 +211,13 @@
 
     <source>
       <![CDATA[
-        <DefaultContext>
+        <Context>
           <ResourceLink 
             name="bean/MyBeanFactory"
             global="bean/MyBeanFactory"
             type="com.mycompany.MyBean"
           />
-        </DefaultContext>
+        </Context>
       ]]>
     </source>
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/config/host.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/config/host.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/config/host.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -190,14 +190,8 @@
 
   <p>You can nest one or more <a href="context.html">Context</a> elements
   inside this <strong>Host</strong> element, each representing a different web
-  application associated with this virtual host.  In addition, you can nest a
-  single <a href="defaultcontext.html">DefaultContext</a> element that defines
-  default values for subsequently deployed web applications.</p>
+  application associated with this virtual host.</p>
 
-  <p>You can optional nest a <a href="defaultcontext.html">DefaultContext</a>
-  element inside this <strong>Host</strong> element, to define the default
-  characteristics of web applications that are automatically deployed.</p>
-
   <p>You can nest at most one instance of the following utility components
   by nesting a corresponding element inside your <strong>Host</strong>
   element:</p>
@@ -272,7 +266,8 @@
         attribute of this <code>&lt;Context&gt;</code> element will typically
         be the absolute pathname to a web application directory, or the
         absolute pathname of a web application archive (WAR) file (which
-        will not be expanded).</li>
+        will not be expanded). The path attribute will be automatically set
+        as defined in the <a href="context.html">Context</a> documentation.</li>
     <li>Any web application archive file within the application base (appBase)
         directory that does not have a corresponding
         directory of the same name (without the ".war" extension) will be
@@ -288,8 +283,7 @@
         generated <a href="context.html">Context</a> element, even if this
         directory is not mentioned in the <code>conf/server.xml</code> file.
         This generated Context entry will be configured according to the
-        properties set in any <a href="defaultcontext.html">DefaultContext</a>
-        element nested in this Host element.  The context path for this
+        defaults configured for this Host element.  The context path for this
         deployed Context will be a slash character ("/") followed by the
         directory name, unless the directory name is ROOT, in which case
         the context path will be an empty string ("").</li>
@@ -520,8 +514,7 @@
     considerations:</p>
     <ul>
     <li>Each user web application will be deployed with characteristics
-        established by any <a href="defaultcontext.html">DefaultContext</a>
-        element you have configured for this Host.</li>
+        established by any defaults you have configured for this Host.</li>
     <li>It is legal to include more than one instance of this Listener
         element.  This would only be useful, however, in circumstances
         where you wanted to configure more than one "homeBase" directory.</li>

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/config/http.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/config/http.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/config/http.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -196,7 +196,7 @@
       <p>The maximum queue length for incoming connection requests when
       all possible request processing threads are in use.  Any requests
       received when the queue is full will be refused.  The default
-      value is 10.</p>
+      value is 100.</p>
     </attribute>
 
     <attribute name="address" required="false">
@@ -409,24 +409,22 @@
   <attributes>
 
     <attribute name="algorithm" required="false">
-      <p>The certificate encoding algorithm to be used.  If not
-      specified, the default value is <code>SunX509</code>.</p>
+      <p>The certificate encoding algorithm to be used. This defaults to the Sun
+      implementation (<code>SunX509</code>). For IBM JVMs you should use the
+      value <code>IbmX509</code>. For other vendors, consult the JVM
+      documentation for the correct value.</p>
     </attribute>
 
     <attribute name="clientAuth" required="false">
       <p>Set to <code>true</code> if you want the SSL stack to require a
-      valid certificate chain from the client before
- accepting a connection.
-      Set to <code>want</code> if you
- want the SSL stack to request a client
-      Certificate, but
- not fail if one isn't presented. A <code>false</code>
+      valid certificate chain from the client before accepting a connection.
+      Set to <code>want</code> if you want the SSL stack to request a client
+      Certificate, but not fail if one isn't presented. A <code>false</code>
       value (which is the default) will not require a certificate chain
-      unless
- the client requests a resource protected by a security
-      constraint
- that uses <code>CLIENT-CERT</code> authentication. See the
-      <a href="../ssl-howto.html">SSL HowTo</a> for an example.</p>
+      unless the client requests a resource protected by a security
+      constraint that uses <code>CLIENT-CERT</code> authentication. See the
+      <a href="../ssl-howto.html">SSL HowTo</a> for an example.  That SSL HowTo
+      also contains tips on using per-user or per-session certificate-based clientAuth.</p>
     </attribute>
 
     <attribute name="keystoreFile" required="false">
@@ -457,6 +455,25 @@
       If not specified, then any available cipher may be used.</p>
     </attribute>
 
+    <attribute name="keyAlias" required="false">
+      <p>The alias used to for the server certificate in the keystore. If not
+      specified the first key read in the keystore will be used.</p>
+    </attribute>
+
+    <attribute name="truststoreFile" required="false">
+      <p>The TrustStore file to use to validate client certificates.</p>
+    </attribute>
+
+    <attribute name="truststorePass" required="false">
+      <p>The password to access the TrustStore. This defaults to the value
+      of <code>keystorePass</code>.</p>
+    </attribute>
+
+    <attribute name="truststoreType" required="false">
+      <p>Add this element if your are using a different format for the
+      TrustStore then you are using for the KeyStore.</p>
+    </attribute>
+
   </attributes>
 
   <p>For more information, see the

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/config/loader.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/config/loader.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/config/loader.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -106,13 +106,6 @@
 
     <attributes>
 
-      <attribute name="backgroundProcesssorDelay" required="false">
-        <p>The number of seconds between checks for modified classes and
-        resources, if <code>reloadable</code> has been set to
-        <code>true</code>.</p>
-        <p>See the general documentation for this parameter at <a href="../host.html">Host Container</a>.</p>
-      </attribute>
-
       <attribute name="loaderClass" required="false">
         <p>Java class name of the <code>java.lang.ClassLoader</code>
         implementation class to use.  If not specified, the default value is

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/config/realm.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/config/realm.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/config/realm.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -63,6 +63,20 @@
         implement the <code>org.apache.catalina.Realm</code> interface.</p>
       </attribute>
 
+      <attribute name="digest" required="false">
+        <p>The digest algorithm used to store passwords in non-plaintext
+        formats. Valid values are those accepted for the algorithm name by the
+        <code>java.security.MessageDigest</code> class.  See
+        <a href="../realm-howto.html#Digested Passwords">Digested Passwords</a>
+        for more information. If not specified, passwords are stored in clear
+        text.</p>
+      </attribute>
+
+      <attribute name="digestEncoding" required="false">
+        <p>The charset for encoding digests.  If not specified, the platform
+        default will be used.</p>
+      </attribute>
+
     </attributes>
 
   </subsection>
@@ -105,20 +119,10 @@
         establishing a database connection.</p>
       </attribute>
 
-      <attribute name="digest" required="false">
-        <p>The name of the <code>MessageDigest</code> algorithm used
-        to encode user passwords stored in the database.  If not specified,
-        user passwords are assumed to be stored in clear-text.</p>
-      </attribute>
-   
-      <attribute name="digestEncoding" required="false">
-        <p>The charset for encoding digests.  If not specified, the platform
-        default will be used.</p>
-      </attribute>
-
       <attribute name="driverName" required="true">
-        <p>Fully qualified Java class name of the JDBC driver to be
-        used to connect to the authentication database.</p>
+        <p>Fully qualified Java class name of the JDBC driver to be used to
+        connect to the authentication database. Consult the documentation for
+        your JDBC driver for the appropriate value.</p>
       </attribute>
 
       <attribute name="roleNameCol" required="true">
@@ -127,12 +131,11 @@
       </attribute>
 
       <attribute name="userCredCol" required="true">
-        <p>Name of the column, in the "users" table, which contains
-        the user's credentials (i.e. password(.  If a value for the
-        <code>digest</code> attribute is specified, this component
-        will assume that the passwords have been encoded with the
-        specified algorithm.  Otherwise, they will be assumed to be
-        in clear text.</p>
+        <p>Name of the column, in the "users" table, which contains the user's
+        credentials (i.e. password).  If a value for the <code>digest</code>
+        attribute is specified, this component will assume that the passwords
+        have been encoded with the specified algorithm.  Otherwise, they will be
+        assumed to be in clear text.</p>
       </attribute>
 
       <attribute name="userNameCol" required="true">
@@ -141,15 +144,17 @@
       </attribute>
 
       <attribute name="userRoleTable" required="true">
-        <p>Name of the "user roles" table, which must contain columns
-        named by the <code>userNameCol</code> and <code>roleNameCol</code>
-        attributes.</p>
+        <p>The name of the table that contains one row for each <em>role</em>
+        assigned to a particular <em>username</em>.  This table must include at
+        least the columns named by the <code>userNameCol</code> and
+        <code>roleNameCol</code> attributes.</p>
       </attribute>
 
       <attribute name="userTable" required="true">
-        <p>Name of the "users" table, which must contain columns named
-        by the <code>userNameCol</code> and <code>userCredCol</code>
-        attributes.</p>
+        <p>The name of the table that contains one row for each
+        <em>username</em> to be recognized by Tomcat.  This table must include
+        at least the columns named by the <code>userNameCol</code> and
+        <code>userCredCol</code> attributes.</p>
       </attribute>
 
     </attributes>
@@ -186,27 +191,35 @@
     <attributes>
 
       <attribute name="dataSourceName" required="true">
-        <p>The name of the JNDI JDBC DataSource for this Realm.</p>
+        <p>The JNDI named JDBC DataSource for your database. If the DataSource
+        is local to the context, the name is relative to
+        <code>java:/comp/env</code>, and otherwise the name should match the
+        name used to define the global DataSource.</p>
       </attribute>
 
-      <attribute name="digest" required="false">
-        <p>The name of the <code>MessageDigest</code> algorithm used
-        to encode user passwords stored in the database.  If not specified,
-        user passwords are assumed to be stored in clear-text.</p>
+      <attribute name="localDataSource" required="false">
+  
+      <p>When the realm is nested inside a Context element, this allows the 
+ 
+       realm to use a DataSource defined for the Context rather than a global
+
+        DataSource.  If not specified, the default is <code>false</code>: use a 
+
+        global DataSource.</p>
+
       </attribute>
-
+    
       <attribute name="roleNameCol" required="true">
         <p>Name of the column, in the "user roles" table, which contains
         a role name assigned to the corresponding user.</p>
       </attribute>
 
       <attribute name="userCredCol" required="true">
-        <p>Name of the column, in the "users" table, which contains
-        the user's credentials (i.e. password(.  If a value for the
-        <code>digest</code> attribute is specified, this component
-        will assume that the passwords have been encoded with the
-        specified algorithm.  Otherwise, they will be assumed to be
-        in clear text.</p>
+        <p>Name of the column, in the "users" table, which contains the user's
+        credentials (i.e. password).  If a value for the <code>digest</code>
+        attribute is specified, this component will assume that the passwords
+        have been encoded with the specified algorithm.  Otherwise, they will be
+        assumed to be in clear text.</p>
       </attribute>
 
       <attribute name="userNameCol" required="true">
@@ -215,15 +228,17 @@
       </attribute>
 
       <attribute name="userRoleTable" required="true">
-        <p>Name of the "user roles" table, which must contain columns
-        named by the <code>userNameCol</code> and <code>roleNameCol</code>
-        attributes.</p>
+        <p>The name of the table that contains one row for each <em>role</em>
+        assigned to a particular <em>username</em>.  This table must include at
+        least the columns named by the <code>userNameCol</code> and
+        <code>roleNameCol</code> attributes.</p>
       </attribute>
 
       <attribute name="userTable" required="true">
-        <p>Name of the "users" table, which must contain columns named
-        by the <code>userNameCol</code> and <code>userCredCol</code>
-        attributes.</p>
+        <p>The name of the table that contains one row for each
+        <em>username</em> to be recognized by Tomcat.  This table must include
+        at least the columns named by the <code>userNameCol</code> and
+        <code>userCredCol</code> attributes.</p>
       </attribute>
 
     </attributes>
@@ -307,7 +322,8 @@
       <attribute name="contextFactory" required="false">
         <p>Fully qualified Java class name of the factory class used
         to acquire our JNDI <code>InitialContext</code>.  By default,
-        assumes that the standard JNDI LDAP provider will be utilized.</p>
+        assumes that the standard JNDI LDAP provider will be utilized
+        (<code>com.sun.jndi.ldap.LdapCtxFactory</code>).</p>
       </attribute>
       
       <attribute name="derefAliases" required="false">
@@ -338,12 +354,13 @@
       </attribute>
 
       <attribute name="roleSearch" required="false">
-        <p>The LDAP filter expression used for performing role
-        searches.  Use <code>{0}</code> to substitute the
-        distinguished name (DN) of the user, and/or <code>{1}</code> to
-        substitute the username. If not specified a role search does
-        not take place and roles are taken only from the attribute in
-        the user's entry specified by the <code>userRoleName</code>
+        <p>The LDAP filter expression used for performing role searches,
+        following the syntax supported by the
+        <code>java.text.MessageFormat</code> class.  Use <code>{0}</code> to
+        substitute the distinguished name (DN) of the user, and/or
+        <code>{1}</code> to substitute the username. If not specified a role
+        search does not take place and roles are taken only from the attribute
+        in the user's entry specified by the <code>userRoleName</code>
         property.</p>
       </attribute>
 
@@ -357,30 +374,32 @@
 
       <attribute name="userBase" required="false">
         <p>The base element for user searches performed using the
-        <code>userSearch</code> expression.  Not used if you are using
+        <code>userSearch</code> expression. If not specified, the top level
+        element in the directory context will be used. Not used if you are using
         the <code>userPattern</code> expression.</p>
       </attribute>
 
       <attribute name="userPassword" required="false">
-        <p>Name of the attribute in the user's entry containing the
-        user's password.  If you specify this value, JNDIRealm will
-        bind to the directory using the values specified by
-        <code>connectionName</code> and
+        <p>Name of the attribute in the user's entry containing the user's
+        password. If you specify this value, JNDIRealm will bind to the
+        directory using the values specified by <code>connectionName</code> and
         <code>connectionPassword</code> properties, and retrieve the
-        corresponding attribute for comparison to the value specified
-        by the user being authenticated.  If you do
-        <strong>not</strong> specify this value, JNDIRealm will
-        attempt a simple bind to the directory using the DN of the
-        user's entry and the password presented by the user, with a
-        successful bind being interpreted as an authenticated
-        user.</p>
+        corresponding attribute for comparison to the value specified by the
+        user being authenticated. If the <code>digest</code> attribute is set,
+        the specified digest algorithm is applied to the password offered by the
+        user before comparing it with the value retrieved from the directory. If
+        you do <strong>not</strong> specify this value, JNDIRealm will attempt a
+        simple bind to the directory using the DN of the user's entry and the
+        password presented by the user, with a successful bind being interpreted
+        as an authenticated user.</p>
       </attribute>
 
       <attribute name="userPattern" required="false">
-        <p>Pattern for the distinguished name (DN) of the user's
-        directory entry, with <code>{0}</code> marking where the
-        actual username should be inserted. You can use this property
-        instead of <code>userSearch</code>, <code>userSubtree</code>
+        <p>Pattern for the distinguished name (DN) of the user's directory
+        entry, following the syntax supported by the
+        <code>java.text.MessageFormat</code> class. with <code>{0}</code>
+        marking where the actual username should be inserted. You can use this
+        property instead of <code>userSearch</code>, <code>userSubtree</code>
         and <code>userBase</code> when the distinguished name contains
         the username and is otherwise the same for all users.</p>
       </attribute>
@@ -470,6 +489,65 @@
     Memory Based Realm component.</p>
 
 
+    <h3>User Database Realm (org.apache.catalina.realm.UserDatabaseRealm)</h3>
+
+    <p>The <strong>User Database Realm</strong> is Realm implementation
+    that is based on an implementation of the <code>UserDatabase</code>
+    interface that is made available through the global JNDI resources
+    configured for this Tomcat instance.</p>
+
+    <p>The User Database Realm implementation supports the following
+    additional attributes:</p>
+
+    <attributes>
+
+      <attribute name="resourceName" required="true">
+        <p>The global JNDI name of the <code>UserDatabase</code> resource
+        used by this Realm.</p>
+      </attribute>
+
+    </attributes>
+
+    <p>See the <a href="../realm-howto.html">Container-Managed Security Guide</a> for more
+    information on setting up container managed security using the
+    UserDatabase Realm component.</p>
+
+    <h3>JAAS Realm (org.apache.catalina.realm.JAASRealm)</h3>
+
+    <p>The JAAS Realm implementation supports the following additional
+    attributes:</p>
+
+    <attributes>
+      <attribute name="appName" required="true">
+        <p>The name of the application as configured in your login configuration
+        file (<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/LoginConfigFile.html">
+        JAAS LoginConfig</a>).</p>
+     </attribute>
+
+      <attribute name="userClassNames" required="true">
+        <p>A comma-seperated list of the names of the classes that you have made 
+        for your user <code>Principals</code>.</p>
+      </attribute>
+
+      <attribute name="roleClassNames" required="false">
+        <p>A comma-seperated list of the names of the classes that you have made 
+        for your role <code>Principals</code>.</p>
+      </attribute>
+
+      <attribute name="useContextClassLoader" required="false">
+        <p>Instructs JAASRealm to use the context class loader for loading the
+        user-specified <code>LoginModule</code> class and associated
+        <code>Principal</code> classes. The default value is <code>true</code>,
+        which is backwards-compatible with the way Tomcat 4 works. To load
+        classes using the container's classloader, specify <code>false</code>.
+        </p>
+      </attribute>
+
+    </attributes>
+
+    <p>See the <a href="../realm-howto.html">Container-Managed Security
+    Guide</a> for more information on setting up container managed security
+    using the JASS Realm component.</p>
   </subsection>
 
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/config/valve.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/config/valve.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/config/valve.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -303,10 +303,7 @@
 
 
 <section name="Request Dumper Valve">
-
-
   <subsection name="Introduction">
-
     <p>The <em>Request Dumper Valve</em> is a useful tool in debugging
     interactions with a client application (or browser) that is sending
     HTTP requests to your Tomcat-based server.  When configured, it causes
@@ -320,6 +317,10 @@
     subsequent calls to <code>request.setCharacterEncoding()</code> within
     the web application will have no effect.</p>
 
+    <p>Note: this Valve is now depracated in favor of the RequestDumperFilter,
+    which does the same thing in a portable manner. This Filter is included in 
+    the examples application: see 
+    $CATALINA_HOME/webapps/examples/WEB-INF/classes/filters for the source.</p>
   </subsection>
 
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/funcspecs/mbean-names.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/funcspecs/mbean-names.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/funcspecs/mbean-names.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -10,7 +10,7 @@
     <author email="craigmcc at apache.org">Craig McClanahan</author>
     <author email="amyroh at apache.org">Amy Roh</author>
     <title>Tomcat MBean Names</title>
-    <revision>$Id: mbean-names.xml 303281 2004-09-27 16:00:31Z yoavs $</revision>
+    <revision>$Id: mbean-names.xml 466611 2006-10-22 00:44:42Z markt $</revision>
   </properties>
 
 <body>
@@ -139,79 +139,6 @@
   </tr>
 
   <tr>
-    <td>Server / Service / Engine / DefaultContext</td>
-    <td align="center">0..1</td>
-    <td align="center">(none)</td>
-    <td><code>type=${DEFAULT-CONTEXT}, service=${service.name}</code></td>
-  </tr>
-
-<!--
-  <tr>
-    <td>Server / Service / Engine / DefaultContext / InstanceListener</td>
-    <td align="center">0..n</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / DefaultContext / Listener</td>
-    <td align="center">0..n</td>
-    <td align="center">(none)</td>
-    <td><code>type=${LISTENER}, sequence=${###}</code></td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / DefaultContext / Loader</td>
-    <td align="center">0..1</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / DefaultContext / Manager</td>
-    <td align="center">0..1</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / DefaultContext / Realm</td>
-    <td align="center">0..1</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / DefaultContext / Resources</td>
-    <td align="center">0..1</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / DefaultContext / Valve</td>
-    <td align="center">0..n</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / DefaultContext / WrapperLifecycle</td>
-    <td align="center">0..n</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / DefaultContext / WrapperListener</td>
-    <td align="center">0..n</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
--->
-
-  <tr>
     <td>Server / Service / Engine / Host</td>
     <td align="center">1..n</td>
     <td align="center"><code>name</code></td>
@@ -284,6 +211,16 @@
   </tr>
 
   <tr>
+    <td>Server / Service / Engine / Host / Context / Wrapper</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>j2eeType=Servlet,name=${name},
+        WebModule=//${host.name}/${context.name},
+        J2EEApplication=${context.J2EEApplication},
+        J2EEServer=${context.J2EEServer}</code></td>
+  </tr>
+
+  <tr>
     <td>Server / Service / Engine / Host / Context / WrapperLifecycle</td>
     <td align="center">0..n</td>
     <td align="center">(none)</td>
@@ -300,79 +237,6 @@
   </tr>
 
   <tr>
-    <td>Server / Service / Engine / Host / DefaultContext</td>
-    <td align="center">0..1</td>
-    <td align="center">(none)</td>
-    <td><code>type=DefaultContext, host=${host.name},
-        service=${service.name}</code></td>
-  </tr>
-
-<!--
-  <tr>
-    <td>Server / Service / Engine / Host / DefaultContext / InstanceListener</td>
-    <td align="center">0..n</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / Host / DefaultContext / Listener</td>
-    <td align="center">0..n</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / Host / DefaultContext / Loader</td>
-    <td align="center">0..1</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / Host / DefaultContext / Manager</td>
-    <td align="center">0..1</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / Host / DefaultContext / Realm</td>
-    <td align="center">0..1</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / Host / DefaultContext / Resources</td>
-    <td align="center">0..1</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / Host / DefaultContext / Valve</td>
-    <td align="center">0..n</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / Host / DefaultContext / WrapperLifecycle</td>
-    <td align="center">0..n</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>Server / Service / Engine / Host / DefaultContext / WrapperListener</td>
-    <td align="center">0..n</td>
-    <td align="center">(none)</td>
-    <td></td>
-  </tr>
--->
-
-  <tr>
     <td>Server / Service / Engine / Host / Listener</td>
     <td align="center">0..n</td>
     <td align="center">(none)</td>
@@ -506,13 +370,6 @@
   </tr>
 
   <tr>
-    <td><code>DefaultContext</code></td>
-    <td align="center"><code>DEFAULT-CONTEXT</code></td>
-    <td><code>org.apache.catalina.DefaultContext</code></td>
-    <td><code>org.apache.catalina.core.StandardDefaultContext</code></td>
-  </tr>
-
-  <tr>
     <td><code>DigestAuthenticator</code></td>
     <td align="center"><code>VALVE</code></td>
     <td><code>org.apache.catalina.Valve</code></td>
@@ -758,6 +615,13 @@
   </tr>
 
   <tr>
+    <td><code>StandardWrapper</code></td>
+    <td align="center"><code>WRAPPER</code></td>
+    <td><code>org.apache.catalina.Wrapper</code></td>
+    <td><code>org.apache.catalina.core.StandardWrapper</code></td>
+  </tr>
+
+  <tr>
     <td><code>StandardWrapperValve</code></td>
     <td align="center"><code>VALVE</code></td>
     <td><code>org.apache.catalina.Valve</code></td>
@@ -823,7 +687,7 @@
   <tr>
     <td><code>Servlet</code></td>
     <td><code>${WRAPPER}</code></td>
-    <td><strong>FIXME</strong> - Not yet identified as an MBean</td>
+    <td></td>
   </tr>
 
   <tr>

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/index.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/index.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/index.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -100,8 +100,12 @@
 <li><a href="monitoring.html"><strong>Monitoring and Management</strong></a> -
     Enabling JMX Remote support, and using tools to monitor and manage Apache Tomcat.</li>
 <li><a href="logging.html"><strong>Logging</strong></a> -
-    Confuguring logging in Apache Tomcat.</li>
-
+    Configuring logging in Apache Tomcat.</li>
+<li><a href="apr.html"><strong>Apache Portable Runtime</strong></a> -
+    Using APR to provide superior performance, scalability and better
+    integration with native server technologies.</li>
+<li><a href="virtual-hosting-howto.html"><strong>Virtual Hosting</strong></a> -
+    Configuring vitual hosting in Apache Tomcat.</li>
 </ol>
 
 </section>

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/jasper-howto.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/jasper-howto.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/jasper-howto.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -84,9 +84,11 @@
 <code>true</code>.
 </li>
 
-<li><strong>classpath</strong> - What class path should I use while compiling
-generated servlets?  By default the classpath is created dynamically based on
-the current web application.</li>
+<li><strong>classpath</strong> - Defines the class path to be used to compile
+the generated servlets. This parameter only has an effect if the ServletContext
+attribute org.apache.jasper.Constants.SERVLET_CLASSPATH is not set. This
+attribute is always set when Jasper is used within Tomcat. By default the
+classpath is created dynamically based on the current web application.</li>
 
 <li><strong>compilerSourceVM</strong> - What JDK version are the source files compatible with? (Default JDK 1.4)</li>
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/jndi-resources-howto.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/jndi-resources-howto.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/jndi-resources-howto.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -100,8 +100,8 @@
 <section name="Configuring JNDI Resources">
 
 <p>Each available JNDI Resource is configured based on inclusion of the
-following elements in the <code><strong>&lt;Context&gt;</strong></code> or 
-<code><strong>&lt;DefaultContext&gt;</strong></code> elements:</p>
+following elements in the <code><strong>&lt;Context&gt;</strong></code>
+element:</p>
 
 <ul>
 <li><a href="config/context.html#Environment Entries">&lt;Environment&gt;</a> -

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/logging.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/logging.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/logging.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -63,14 +63,13 @@
         <li>Create a file called log4j.properties with the following content 
             and save it into common/classes.
           <source>
-            log4j.rootLogger=debug, R <br />
+            log4j.rootLogger=DEBUG, R <br />
             log4j.appender.R=org.apache.log4j.RollingFileAppender <br />
             log4j.appender.R.File=${catalina.home}/logs/tomcat.log <br />
             log4j.appender.R.MaxFileSize=10MB <br />
             log4j.appender.R.MaxBackupIndex=10 <br />
             log4j.appender.R.layout=org.apache.log4j.PatternLayout <br />
-            log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n <br />
-            log4j.logger.org.apache.catalina=DEBUG, R
+            log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
           </source>
 	</li>
 
@@ -320,7 +319,7 @@
         <attribute name="formatter" required="false">
           <p>
             The fully-qualified class name of a class that implements the
-            <a href="http://java.suncom/j2se/1.4.2/docs/api/java/util/logging/Formatter.html">java.util.logging.Formatter</a>
+            <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/Formatter.html">java.util.logging.Formatter</a>
             interface.  JULI will load this class and associate it with this handler to format its messages.
             By default, there is no Formatter associated with the handler.
           </p>

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/manager-howto.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/manager-howto.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/manager-howto.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -461,7 +461,7 @@
 configuration ".xml" file and a web application ".war" file located
 on the server.
 <source>
-http://localhost:8080/manager/deploy?config=file:/path/context.xml&amp;war=jar:file:/path/bar.war!/
+http://localhost:8080/manager/deploy?config=file:/path/context.xml&amp;war=file:/path/bar.war&amp;path=/bar
 </source>
 </p>
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/monitoring.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/monitoring.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/monitoring.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -62,7 +62,9 @@
     </li>
     </ol>
     <b>Note:</b>The JSR 160 JMX-Adaptor opens a second data protocol port. That is a problem
-    when you have installed a local firewall.<br/>
+    when you have installed a local firewall.  However, there is at least one possible
+    workaround: using a custom JMXConnectorServer.  The code for this is available
+    at <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39055" title="Bugzila 39055">Bugzilla 39055</a>.
     </p>
     <p>Activate JMX MX4J Http Adaptor with Java 1.4:
     <ol>

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/project.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/project.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/project.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -44,6 +44,7 @@
               href="monitoring.html"/>
         <item name="22) Logging"            href="logging.html"/>
         <item name="23) APR"                href="apr.html"/>
+        <item name="24) Virtual Hosting"    href="virtual-hosting-howto.html"/>
     </menu>
 
     <menu name="Reference">

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/realm-howto.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/realm-howto.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/realm-howto.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -39,6 +39,7 @@
 <a href="#JNDIRealm">JNDIRealm</a><br />
 <a href="#MemoryRealm">MemoryRealm</a><br />
 <a href="#JAASRealm">JAASRealm</a><br />
+<a href="#UserDatabaseRealm">UserDatabaseRealm</a><br />
 </blockquote>
 </p>
 
@@ -336,77 +337,12 @@
 
 <h3>Realm Element Attributes</h3>
 
-<p>To configure JDBCRealm, you will create a <code>&lt;Realm&gt;</code>
+<p>To configure a JDBCRealm, you must create a <code>&lt;Realm&gt;</code>
 element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
-as described <a href="#Configuring a Realm">above</a>.  The following
-attributes are supported by this implementation:</p>
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="config/realm.html">Realm configuration
+documentation</a>.</p>
 
-<attributes>
-
-  <attribute name="className" required="true">
-    <p>The fully qualified Java class name of this Realm implementation.
-    You <strong>MUST</strong> specify the value
-    "<code>org.apache.catalina.realm.JDBCRealm</code>" here.</p>
-  </attribute>
-
-  <attribute name="connectionName" required="true">
-    <p>The database username used to establish a JDBC connection.</p>
-  </attribute>
-
-  <attribute name="connectionPassword" required="true">
-    <p>The database password used to establish a JDBC connection.</p>
-  </attribute>
-
-  <attribute name="connectionURL" required="true">
-    <p>The database URL used to establish a JDBC connection.</p>
-  </attribute>
-
-  <attribute name="digest" required="false">
-    <p>The digest algorithm used to store passwords in non-plaintext formats.
-    Valid values are those accepted for the algorithm name by the
-    <code>java.security.MessageDigest</code> class.  See
-    <a href="#Digested Passwords">Digested Passwords</a> for more
-    information.  If not specified, passwords are stored in clear text.</p>
-  </attribute>
-
-  <attribute name="driverName" required="true">
-    <p>The fully qualified Java class name of the JDBC driver to be used.
-    Consult the documentation for your JDBC driver for the appropriate
-    value.</p>
-  </attribute>
-
-  <attribute name="roleNameCol" required="true">
-    <p>The name of the column, in the <em>user roles</em> table, that
-    contains the name of a role assigned to this user.</p>
-  </attribute>
-
-  <attribute name="userCredCol" required="true">
-    <p>The name of the column, in the <em>users</em> table, that contains
-    the password for this user (either in clear text, or digested if the
-    <code>digest</code> attribute is set).</p>
-  </attribute>
-
-  <attribute name="userNameCol" required="true">
-    <p>The name of the column, in the <em>users</em> and <em>user roles</em>
-    tables, that contains the username of this user.</p>
-  </attribute>
-
-  <attribute name="userRoleTable" required="true">
-    <p>The name of the table that contains one row for each <em>role</em>
-    assigned to a particular <em>username</em>.  This table must include at
-    least the columns named by the <code>userNameCol</code> and
-    <code>roleNameCol</code> attributes.</p>
-  </attribute>
-
-  <attribute name="userTable" required="true">
-    <p>The name of the table that contains one row for each <em>username</em>
-    to be recognized by Tomcat.  This table must include at least the columns
-    named by the <code>userNameCol</code> and <code>userCredCol</code>
-    attributes.</p>
-  </attribute>
-
-</attributes>
-
 <h3>Example</h3>
 
 <p>An example SQL script to create the needed tables might look something
@@ -514,73 +450,12 @@
 
 <h3>Realm Element Attributes</h3>
 
-<p>To configure DataSourceRealm, you will create a <code>&lt;Realm&gt;</code>
+<p>To configure a DataSourceRealm, you must create a <code>&lt;Realm&gt;</code>
 element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
-as described <a href="#Configuring a Realm">above</a>.  The following
-attributes are supported by this implementation:</p>
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="config/realm.html">Realm configuration
+documentation</a>.</p>
 
-<attributes>
-
-  <attribute name="className" required="true">
-    <p>The fully qualified Java class name of this Realm implementation.
-    You <strong>MUST</strong> specify the value
-    "<code>org.apache.catalina.realm.DataSourceRealm</code>" here.</p>
-  </attribute>
-
-  <attribute name="dataSourceName" required="true">
-    <p>The JNDI named JDBC DataSource for your database. If the DataSource is
-    local to the context, the name is relative to <code>java:/comp/env</code>,
-    and otherwise the name should match the name used to define the global
-    DataSource.</p>
-  </attribute>
-
-  <attribute name="digest" required="false">
-    <p>The digest algorithm used to store passwords in non-plaintext formats.
-    Valid values are those accepted for the algorithm name by the
-    <code>java.security.MessageDigest</code> class.  See
-    <a href="#Digested Passwords">Digested Passwords</a> for more
-    information.  If not specified, passwords are stored in clear text.</p>
-  </attribute>
-    
-  <attribute name="localDataSource" required="false">
-    <p>When the realm is nested inside a Context element, this allows the 
-    realm to use a DataSource defined for the Context rather than a global
-    DataSource.  If not specified, the default is <code>false</code>: use a 
-    global DataSource.</p>
-  </attribute>
-    
-  <attribute name="roleNameCol" required="true">
-    <p>The name of the column, in the <em>user roles</em> table, that
-    contains the name of a role assigned to this user.</p>
-  </attribute>
-    
-  <attribute name="userCredCol" required="true">
-    <p>The name of the column, in the <em>users</em> table, that contains
-    the password for this user (either in clear text, or digested if the
-    <code>digest</code> attribute is set).</p>
-  </attribute>
-    
-  <attribute name="userNameCol" required="true">
-    <p>The name of the column, in the <em>users</em> and <em>user roles</em>
-    tables, that contains the username of this user.</p>
-  </attribute>
-
-  <attribute name="userRoleTable" required="true">
-    <p>The name of the table that contains one row for each <em>role</em>
-    assigned to a particular <em>username</em>.  This table must include at
-    least the columns named by the <code>userNameCol</code> and
-    <code>roleNameCol</code> attributes.</p>
-  </attribute>
-
-  <attribute name="userTable" required="true">
-    <p>The name of the table that contains one row for each <em>username</em>
-    to be recognized by Tomcat.  This table must include at least the columns
-    named by the <code>userNameCol</code> and <code>userCredCol</code>
-    attributes.</p>
-  </attribute>
-
-</attributes>
-
 <h3>Example</h3>
 
 <p>An example SQL script to create the needed tables might look something
@@ -825,161 +700,12 @@
 
 <h3>Realm Element Attributes</h3>
 
-<p>To configure JNDIRealm, you will create a <code>&lt;Realm&gt;</code>
+<p>To configure a JNDIRealm, you must create a <code>&lt;Realm&gt;</code>
 element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
-as described <a href="#Configuring a Realm">above</a>.  The following
-attributes are supported by this implementation:</p>
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="config/realm.html">Realm configuration
+documentation</a>.</p>
 
-<attributes>
-  <attribute name="className" required="true">
-    <p>The fully qualified Java class name of this Realm implementation.
-    You <strong>MUST</strong> specify the value
-    "<code>org.apache.catalina.realm.JNDIRealm</code>" here.</p>
-  </attribute>
-
-
-      <attribute name="connectionName" required="false">
-        <p>The directory username to use when establishing a
-        connection to the directory for LDAP search operations. If not
-        specified an anonymous connection is made, which is often
-        sufficient unless you specify the <code>userPassword</code>
-        property.</p>
-      </attribute>
-
-      <attribute name="connectionPassword" required="false">
-        <p>The directory password to use when establishing a
-        connection to the directory for LDAP search operations. If not
-        specified an anonymous connection is made, which is often
-        sufficient unless you specify the <code>userPassword</code>
-        property.</p>
-      </attribute>
-
-      <attribute name="connectionURL" required="true">
-        <p>The connection URL to be passed to the JNDI driver when
-        establishing a connection to the directory.</p>
-      </attribute>
-
-      <attribute name="contextFactory" required="false">
-        <p>The fully qualified Java class name of the JNDI context
-        factory to be used for this connection.  By default, the standard
-        JNDI LDAP provider is used
-        (<code>com.sun.jndi.ldap.LdapCtxFactory</code>).</p>
-      </attribute>
-
-      <attribute name="digest" required="false">
-        <p>The digest algorithm to apply to the plaintext password offered
-        by the user before comparing it with the value retrieved from the
-        directory.  Valid values are those accepted for the algorithm name
-        by the <code>java.security.MessageDigest</code> class.  See <a
-        href="#Digested Passwords">Digested Passwords</a> for more
-        information. If not specified the plaintext password is assumed to
-        be retrieved. Not required unless <code>userPassword</code> is
-        specified</p>
-      </attribute>
-
-      <attribute name="roleBase" required="false">
-        <p>The base directory entry for performing role searches. If
-        not specified, the top level element in the directory context
-        will be used.</p>
-      </attribute>
-
-      <attribute name="roleName" required="false">
-        <p>The name of the attribute that contains role names in the
-        directory entries found by a role search. In addition you can
-        use the <code>userRoleName</code> property to specify the name
-        of an attribute, in the user's entry, containing additional
-        role names.  If <code>roleName</code> is not specified a role
-        search does not take place, and roles are taken only from the
-        user's entry.</p>
-      </attribute>
-
-      <attribute name="roleSearch" required="false">
-        <p>The LDAP filter expression used for performing role
-        searches, following the syntax supported by the
-        <code>java.text.MessageFormat</code> class.  Use
-        <code>{0}</code> to substitute the distinguished name (DN) of
-        the user, and/or <code>{1}</code> to substitute the
-        username. If not specified a role search does not take place
-        and roles are taken only from the attribute in the user's
-        entry specified by the <code>userRoleName</code> property.</p>
-      </attribute>
-
-      <attribute name="roleSubtree" required="false">
-        <p>Set to <code>true</code> if you want to search the entire
-        subtree of the element specified by the <code>roleBase</code>
-        property for role entries associated with the user. The
-        default value of <code>false</code> causes only the top level
-        to be searched.</p>
-      </attribute>
-
-      <attribute name="userBase" required="false">
-        <p>The base element for user searches performed using the
-        <code>userSearch</code> expression.  If not specified, the top
-        level element in the directory context will be used. Not used
-        if you are using the <code>userPattern</code> expression.</p>
-      </attribute>
-
-      <attribute name="userPassword" required="false">
-        <p>Name of the attribute in the user's entry containing the
-        user's password.  If you specify this value, JNDIRealm will
-        bind to the directory using the values specified by
-        <code>connectionName</code> and
-        <code>connectionPassword</code> properties, and retrieve the
-        corresponding attribute for comparison to the value specified
-        by the user being authenticated.  If the <code>digest</code>
-        attribute is set, the specified digest algorithm is applied to
-        the password offered by the user before comparing it with the
-        value retrieved from the directory.  If you do
-        <strong>not</strong> specify this value, JNDIRealm will
-        attempt a simple bind to the directory using the DN of the
-        user's entry and password specified by the user, with a
-        successful bind being interpreted as an authenticated
-        user.</p>
-      </attribute>
-
-      <attribute name="userPattern" required="false">
-        <p>A pattern for the distinguished name (DN) of the user's
-        directory entry, following the syntax supported by the
-        <code>java.text.MessageFormat</code> class with
-        <code>{0}</code> marking where the actual username should be
-        inserted. You can use this property instead of
-        <code>userSearch</code>, <code>userSubtree</code> and
-        <code>userBase</code> when the distinguished name contains the
-        username and is otherwise the same for all users.</p>
-      </attribute>
-
-      <attribute name="userRoleName" required="false">
-        <p>The name of an attribute in the user's directory entry
-        containing zero or more values for the names of roles assigned
-        to this user.  In addition you can use the
-        <code>roleName</code> property to specify the name of an
-        attribute to be retrieved from individual role entries found
-        by searching the directory. If <code>userRoleName</code> is
-        not specified all the roles for a user derive from the role
-        search.</p>
-      </attribute>
-
-      <attribute name="userSearch" required="false">
-        <p>The LDAP filter expression to use when searching for a
-        user's directory entry, with <code>{0}</code> marking where
-        the actual username should be inserted.  Use this property
-        (along with the <code>userBase</code> and
-        <code>userSubtree</code> properties) instead of
-        <code>userPattern</code> to search the directory for the
-        user's entry.</p>
-      </attribute>
-
-      <attribute name="userSubtree" required="false">
-        <p>Set to <code>true</code> if you want to search the entire
-        subtree of the element specified by the <code>userBase</code>
-        property for the user's entry. The default value of
-        <code>false</code> causes only the top level to be searched.
-        Not used if you are using the <code>userPattern</code>
-        expression.</p>
-      </attribute>
-
-</attributes>
-
 <h3>Example</h3>
 
 <p>Creation of the appropriate schema in your directory server is beyond the
@@ -1181,36 +907,12 @@
 
 <h3>Realm Element Attributes</h3>
 
-<p>To configure MemoryRealm, you will create a <code>&lt;Realm&gt;</code>
+<p>To configure a MemoryRealm, you must create a <code>&lt;Realm&gt;</code>
 element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
-as described <a href="#Configuring a Realm">above</a>.  The following
-attributes are supported by this implementation:</p>
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="config/realm.html">Realm configuration
+documentation</a>.</p>
 
-<attributes>
-
-  <attribute name="className" required="true">
-    <p>The fully qualified Java class name of this Realm implementation.
-    You <strong>MUST</strong> specify the value
-    "<code>org.apache.catalina.realm.MemoryRealm</code>" here.</p>
-  </attribute>
-
-  <attribute name="digest" required="false">
-    <p>The digest algorithm used to store passwords in non-plaintext formats.
-    Valid values are those accepted for the algorithm name by the
-    <code>java.security.MessageDigest</code> class.  See
-    <a href="#Digested Passwords">Digested Passwords</a> for more
-    information.  If not specified, passwords are stored in clear text.</p>
-  </attribute>
-
-  <attribute name="pathname" required="false">
-    <p>Absolute or relative (to $CATALINA_HOME) pathname of the XML document
-    containing our valid usernames, passwords, and roles.  See below for more
-    information on the format of this file.  If not specified, the value
-    <code>conf/tomcat-users.xml</code> is used.</p>
-  </attribute>
-
-</attributes>
-
 <h3>User File Format</h3>
 
 <p>The users file (by default, <code>conf/tomcat-users.xml</code> must be an
@@ -1229,9 +931,7 @@
 
 <h3>Example</h3>
 
-<p>The default installation of Tomcat 5 is configured with a MemoryRealm
-nested inside the <code>&lt;Engine&gt;</code> element, so that it applies
-to all virtual hosts and web applications.  The default contents of the
+<p>The default contents of the
 <code>conf/tomcat-users.xml</code> file is:</p>
 <source>
 &lt;tomcat-users&gt;
@@ -1263,7 +963,33 @@
     provide any built-in capabilities to maintain users and roles.</li>
 </ul>
 
+</subsection>
 
+
+<subsection name="UserDatabaseRealm">
+
+<h3>Introduction</h3>
+
+<p><strong>UserDatabaseRealm</strong> is an implementation of the
+Tomcat <code>Realm</code> interface. Information about all users, and their
+corresponding roles, is obtained from a JNDI resource that implements the
+<code>UserDatabase</code> interface.</p>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure a UserDatabaseRealm, you must create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="config/realm.html">Realm configuration
+documentation</a>.</p>
+
+<h3>Example</h3>
+
+<p>The default installation of Tomcat 5 is configured with a
+UserDatabaseRealm nested inside the <code>&lt;Engine&gt;</code> element, so that
+it applies to all virtual hosts and web applications. This realm uses the
+same <code>tomcat-users.xml</code> as the MemoryRealm.</p>
+
 </subsection>
 
 
@@ -1324,46 +1050,16 @@
           <li>Configure the JAASRealm module in your server.xml </li>
           <li>Restart Tomcat 5 if it is already running.</li>
         </ol>
-        <h3>Realm Element Attributes</h3>
-        <p>To configure JAASRealm as for step 6 above, you create
-a <code>&lt;Realm&gt;</code> element and nest it in your 
-<code>$CATALINA_HOME/conf/server.xml</code>
-file within your <code>&lt;Engine&gt;</code> node. The following attributes 
-are supported by this implementation:</p>
 
-<attributes>
 
-  <attribute name="className" required="true">
-    <p>The fully qualified Java class name of this Realm implementation.
-    You <strong>MUST</strong> specify the value
-    "<code>org.apache.catalina.realm.JAASRealm</code>" here.</p>
-  </attribute>
+<h3>Realm Element Attributes</h3>
 
-  <attribute name="appName" required="true">
-    <p>The name of the application as configured in your login configuration file 
-    (<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/LoginConfigFile.html">JAAS LoginConfig</a>).</p>
-  </attribute>
+<p>To configure a JAASRealm, you must create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="config/realm.html">Realm configuration
+documentation</a>.</p>
 
-  <attribute name="userClassNames" required="true">
-    <p>A comma-seperated list of the names of the classes that you have made 
-    for your user <code>Principals</code>.</p>
-  </attribute>
-
-  <attribute name="roleClassNames" required="false">
-    <p>A comma-seperated list of the names of the classes that you have made 
-    for your role <code>Principals</code>.</p>
-  </attribute>
-
-  <attribute name="useContextClassLoader" required="false">
-    <p>Instructs JAASRealm to use the context class loader for loading the user-specified
-    <code>LoginModule</code> class and associated <code>Principal</code> classes. The
-    default value is <code>true</code>, which is backwards-compatible with the way 
-    Tomcat 4 works. To load classes using the container's classloader, specify
-    <code>false</code>.</p>
-  </attribute>
-
-</attributes>
-
 <h3>Example</h3>
 
 <p>Here is an example of how your server.xml snippet should look.</p>

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/setup.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/setup.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/setup.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -47,9 +47,9 @@
             of a J2SE 5 JRE.
             </li>
         <li><strong>Tray icon</strong>: When Tomcat is run as a service, there
-            will not be any tray icon present when Tomcat is running. Note that
+            will be a tray icon visible.  Note that
             when choosing to run Tomcat at the end of installation, the tray
-            icon will be used even if Tomcat was installed as a service.</li>
+            icon will be loaded at the same time.</li>
         <li>Refer to the
             <a href="windows-service-howto.html">Windows Service HOW-TO</a>
             for information on how to manage Tomcat as Windows NT service.

Modified: branches/tomcat5.5/upstream/current/container/webapps/docs/ssl-howto.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/ssl-howto.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/ssl-howto.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -8,7 +8,7 @@
 
     <properties>
         <author email="ccain at apache.org">Christopher Cain</author>
-        <author email="yoavs at apache.org">Yoav Shapira</author>
+        <author>Yoav Shapira</author>
         <title>SSL Configuration HOW-TO</title>
     </properties>
 
@@ -203,14 +203,22 @@
 
 <subsection name="Prepare the Certificate Keystore">
 
-<p>Tomcat currently operates only on <code>JKS</code> or <code>PKCS12</code>
-format keystores.  The <code>JKS</code> format
+<p>Tomcat currently operates with <code>JKS</code>, <code>PKCS11</code> or
+<code>PKCS12</code> format keystores.  The <code>JKS</code> format
 is Java's standard "Java KeyStore" format, and is the format created by the
 <code>keytool</code> command-line utility.  This tool is included in the JDK.
 The <code>PKCS12</code> format is an internet standard, and can be manipulated
 via (among other things) OpenSSL and Microsoft's Key-Manager.
 </p>
 
+<p>Each entry in a keystore is identified by an alias string. Whilst many
+keystore implmentations treat alaises in a case insensitive manner, case
+sensitive implementations are available. The <code>PKCS11</code> specification,
+for example, requires that aliases are case sensitive. To avoid issues related
+to the case sensitivity of aliaises, it is not recommended to use aliases that
+differ only in case.
+</p>
+
 <p>To import an existing certificate into a JKS keystore, please read the
 documentation (in your JDK documentation package) about <code>keytool</code>.
 Note that openssl often adds a readable comments before the key, <code>keytool</code>does not support that, so remove the openssl comments if they exist before importing the key using <code>keytool</code>.
@@ -280,7 +288,7 @@
 <p><strong>Note:</strong> your private key password and keystore password
 should be the same.  If they differ, you will get an error along the lines
 of <code>java.io.IOException: Cannot recover key</code>, as documented in 
-<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38217">Bugzilla issue 38217</a>, 
+<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38217">Bugzilla 38217</a>, 
 which contains further references for this issue.</p>
 
 </subsection>
@@ -342,6 +350,9 @@
         all SSL clients to present a client Certificate in order to use
         this socket.  Set this value to <code>want</code> if you want Tomcat
         to request a client Certificate, but not fail if one isn't presented.
+        For using clientAuth on a per-user or per-session basis, check out
+        the tips in 
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34643" title="Bugzilla 34643">Bugzilla 34643</a>.
     </td>
   </tr>
   <tr>
@@ -360,8 +371,8 @@
   </tr>
   <tr>
     <td><code>keystoreType</code></td>
-    <td>Add this element if using a PKCS12 keystore.  The valid values are
-        <code>JKS</code> and <code>PKCS12</code>.</td>
+    <td>Add this element if using a keystore type other than
+    <code>JKS</code>.</td>
   </tr>
   <tr>
     <td><code>sslProtocol</code></td>
@@ -396,8 +407,7 @@
   <tr>
    <td><code>truststoreType</code></td>
     <td>Add this element if your are using a different format for the 
-        TrustStore then you are using for the KeyStore.  The valid values are
-        <code>JKS</code> and <code>PKCS12</code>.</td>
+        TrustStore then you are using for the KeyStore.</td>
   </tr>
   <tr>
    <td><code>keyAlias</code></td>
@@ -517,6 +527,19 @@
     file</a>.  <strong>REMINDER</strong> - Passwords are case sensitive!</p>
     </blockquote></li>
 
+<li>When Tomcat starts up, I get an exception like
+    "java.net.SocketException: SSL handshake errorjavax.net.ssl.SSLException: No
+    available certificate or key corresponds to the SSL cipher suites which are
+    enabled."
+    <blockquote>
+    <p>A likely explanation is that Tomcat cannot find the alias for the server
+    key withinthe specified keystore. Check that the correct
+    <code>keystoreFile</code> and <code>keyAlias</code> are specified in the
+    <code>&lt;Connector&gt;</code> element in the
+    <a href="#Edit the Tomcat Configuration File">Tomcat configuration file</a>.
+    <strong>REMINDER</strong> - <code>keyAlias</code> values may be case
+    sensitive!</p>
+    </blockquote></li>
 </ul>
 
 <p>If you are still having problems, a good source of information is the
@@ -538,6 +561,13 @@
 For additional discussion on this area, please see
 <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22679">Bugzilla</a>.
 </p>
+
+<p>For tips on using clientAuth on a per-user or per-session basis, and also for
+using clientAuth with self-signed or expired client certificates, please see the
+discussion in 
+<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34643" title="Bugzilla 34643">Bugzilla 34643</a>.
+</p>
+
 </section>
 
 </body>

Added: branches/tomcat5.5/upstream/current/container/webapps/docs/virtual-hosting-howto.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/docs/virtual-hosting-howto.xml	                        (rev 0)
+++ branches/tomcat5.5/upstream/current/container/webapps/docs/virtual-hosting-howto.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<!DOCTYPE document [
+  <!ENTITY project SYSTEM "project.xml">
+]>
+<document url="virtual-hosting-howto.html">
+
+    &project;
+
+  <properties>
+    <title>Virtual Hosting and Tomcat</title>
+  </properties>
+
+<body>
+
+  <section name="Assumptions">
+    <p>
+      For the sake of this how-to, assume you have a development host with two
+      host names, <code>ren</code> and <code>stimpy</code>. Let's also assume
+      one instance of Tomcat running, so <code>$CATALINA_HOME</code> refers to
+      wherever it's installed, perhaps <code>/usr/local/tomcat</code>.
+    </p>
+    <p>
+      Also, this how-to uses Unix-style path separators and commands; if you're
+      on Windows modify accordingly. 
+    </p>
+  </section>
+
+  <section name="server.xml">
+    <p>
+      At the simplest, edit the <a href="config/engine.html">Engine</a> portion
+      of your <code>server.xml</code> file to look like this:
+    </p>
+    <source>
+&lt;Engine name="Catalina" defaultHost="ren"&gt;
+    &lt;Host name="ren"    appBase="webapps/ren"/&gt;
+    &lt;Host name="stimpy" appBase="webapps/stimpy"/&gt;
+&lt;/Engine&gt;
+    </source>
+    <p>
+      Consult the configuration documentation for other attributes of the
+      <a href="config/engine.html">Engine</a> and <a href="config/host.html">
+      Host</a>elements.
+    </p>
+  </section>
+
+  <section name="Webapps Directory">
+    <p>
+      Create directories for each of the virtual hosts:
+    </p>
+    <source>
+mkdir $CATALINA_HOME/webapps/ren
+mkdir $CATALINA_HOME/webapps/stimpy
+    </source>
+  </section>
+
+  <section name="Configuring Your Contexts">
+    <subsection name="Approach #1">
+      <p>
+        Within your Context, create a <code>META-INF</code> directory and then
+        place your Context definition in it in a file named
+        <code>context.xml</code>. i.e.
+        <code>$CATALINA_HOME/webapps/ren/ROOT/META-INF/context.xml</code>
+        This makes deployment easier, particularly if you're distributing a WAR
+        file.
+      </p>
+    </subsection>
+    <subsection name="Approach #2">
+      <p>
+        Create a structure under <code>$CATALINA_HOME/conf/Catalina</code>
+        corresponding to your virtual hosts, e.g.:
+      </p>
+      <source>
+mkdir $CATALINA_HOME/conf/Catalina/ren
+mkdir $CATALINA_HOME/conf/Catalina/stimpy
+      </source>
+      <p>
+        Note that the ending directory name "Catalina" represents the
+        <code>name</code> attribute of the
+        <a href="config/engine.html">Engine</a> element as shown above.
+      </p>
+      <p>
+        Now, for your default webapps, add:
+      </p>
+      <source>
+$CATALINA_HOME/conf/Catalina/ren/ROOT.xml
+$CATALINA_HOME/conf/Catalina/stimpy/ROOT.xml
+      </source>
+      <p>
+        If you want to use the Tomcat manager webapp for each host, you'll also
+        need to add it here:
+      </p>
+      <source>
+cd $CATALINA_HOME/conf/Catalina
+cp localhost/manager.xml ren/
+cp localhost/manager.xml stimpy/
+      </source>
+    </subsection>
+    <subsection name="Further Information">
+      <p>
+        Consult the configuration documentation for other attributes of the
+        <a href="config/context.html">Context</a> element.
+      </p>
+    </subsection>
+  </section>
+
+</body>
+</document>

Modified: branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HTMLHostManagerServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HTMLHostManagerServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HTMLHostManagerServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -52,7 +53,7 @@
 * @author Malcolm Edgar
 * @author Glenn L. Nielsen
 * @author Peter Rossbach
-* @version $Revision: 384293 $, $Date: 2006-03-08 12:09:36 -0600 (Wed, 08 Mar 2006) $
+* @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
 * @see ManagerServlet
 */
 

Modified: branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HostManagerServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HostManagerServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HostManagerServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -45,6 +46,7 @@
 import org.apache.catalina.startup.HostConfig;
 import org.apache.catalina.util.StringManager;
 import org.apache.commons.modeler.Registry;
+import org.apache.catalina.core.ContainerBase;
 
 
 /**
@@ -92,7 +94,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 384293 $ $Date: 2006-03-08 12:09:36 -0600 (Wed, 08 Mar 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class HostManagerServlet
@@ -444,7 +446,7 @@
 
         // Add host aliases
         if ((aliases != null) && !("".equals(aliases))) {
-            StringTokenizer tok = new StringTokenizer(aliases, ",");
+            StringTokenizer tok = new StringTokenizer(aliases, ", ");
             while (tok.hasMoreTokens()) {
                 host.addAlias(tok.nextToken());
             }
@@ -511,7 +513,9 @@
         // Remove host
         // Note that the host will not get physically removed
         try {
-            engine.removeChild(engine.findChild(name));
+            Container child = engine.findChild(name);
+            engine.removeChild(child);
+            if ( child instanceof ContainerBase ) ((ContainerBase)child).destroy();
         } catch (Exception e) {
             writer.println(sm.getString("hostManagerServlet.exception",
                                         e.toString()));

Modified: branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/web.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/web.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/host-manager/WEB-INF/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,10 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 
-<!DOCTYPE web-app
-    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-    "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
 
-<web-app>
-
   <display-name>Tomcat Manager Application</display-name>
   <description>
     A scriptable management web application for the Tomcat Web Server;

Modified: branches/tomcat5.5/upstream/current/container/webapps/jmxremote/WEB-INF/web.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/jmxremote/WEB-INF/web.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/jmxremote/WEB-INF/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/HTMLManagerServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/HTMLManagerServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/HTMLManagerServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -56,7 +57,7 @@
 * @author Bip Thelin
 * @author Malcolm Edgar
 * @author Glenn L. Nielsen
-* @version $Revision: 326772 $, $Date: 2005-10-19 20:37:02 -0500 (Wed, 19 Oct 2005) $
+* @version $Revision: 466608 $, $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
 * @see ManagerServlet
 */
 
@@ -333,6 +334,7 @@
 
         Iterator iterator = sortedContextPathsMap.entrySet().iterator();
         boolean isHighlighted = true;
+        boolean isDeployed = true;
         String highlightColor = null;
 
         while (iterator.hasNext()) {
@@ -353,6 +355,13 @@
             }
 
             if (context != null ) {
+                try {
+                    isDeployed = isDeployed(contextPath);
+                } catch (Exception e) {
+                    // Assume false on failure for safety
+                    isDeployed = false;
+                }
+                
                 args = new Object[6];
                 args[0] = displayPath;
                 args[1] = context.getDisplayName();
@@ -398,12 +407,18 @@
                 if (context.getPath().equals(this.context.getPath())) {
                     writer.print(MessageFormat.format(
                         MANAGER_APP_ROW_BUTTON_SECTION, args));
-                } else if (context.getAvailable()) {
+                } else if (context.getAvailable() && isDeployed) {
                     writer.print(MessageFormat.format(
-                        STARTED_APPS_ROW_BUTTON_SECTION, args));
+                        STARTED_DEPLOYED_APPS_ROW_BUTTON_SECTION, args));
+                } else if (context.getAvailable() && !isDeployed) {
+                    writer.print(MessageFormat.format(
+                        STARTED_NONDEPLOYED_APPS_ROW_BUTTON_SECTION, args));
+                } else if (!context.getAvailable() && isDeployed) {
+                    writer.print(MessageFormat.format(
+                        STOPPED_DEPLOYED_APPS_ROW_BUTTON_SECTION, args));
                 } else {
                     writer.print(MessageFormat.format(
-                        STOPPED_APPS_ROW_BUTTON_SECTION, args));
+                        STOPPED_NONDEPLOYED_APPS_ROW_BUTTON_SECTION, args));
                 }
 
             }
@@ -584,7 +599,7 @@
         " </td>\n" +
         "</tr>\n";
 
-    private static final String STARTED_APPS_ROW_BUTTON_SECTION =
+    private static final String STARTED_DEPLOYED_APPS_ROW_BUTTON_SECTION =
         " <td class=\"row-left\" bgcolor=\"{8}\">\n" +
         "  <small>\n" +
         "  &nbsp;{1}&nbsp;\n" +
@@ -595,7 +610,7 @@
         " </td>\n" +
         "</tr>\n";
 
-    private static final String STOPPED_APPS_ROW_BUTTON_SECTION =
+    private static final String STOPPED_DEPLOYED_APPS_ROW_BUTTON_SECTION =
         " <td class=\"row-left\" bgcolor=\"{8}\">\n" +
         "  <small>\n" +
         "  &nbsp;<a href=\"{0}\" onclick=\"return(confirm('''Are you sure?'''))\">{1}</a>&nbsp;\n" +
@@ -606,6 +621,28 @@
         " </td>\n" +
         "</tr>\n";
 
+    private static final String STARTED_NONDEPLOYED_APPS_ROW_BUTTON_SECTION =
+        " <td class=\"row-left\" bgcolor=\"{8}\">\n" +
+        "  <small>\n" +
+        "  &nbsp;{1}&nbsp;\n" +
+        "  &nbsp;<a href=\"{2}\" onclick=\"return(confirm('''Are you sure?'''))\">{3}</a>&nbsp;\n" +
+        "  &nbsp;<a href=\"{4}\" onclick=\"return(confirm('''Are you sure?'''))\">{5}</a>&nbsp;\n" +
+        "  &nbsp;{7}&nbsp;\n" +
+        "  </small>\n" +
+        " </td>\n" +
+        "</tr>\n";
+
+    private static final String STOPPED_NONDEPLOYED_APPS_ROW_BUTTON_SECTION =
+        " <td class=\"row-left\" bgcolor=\"{8}\">\n" +
+        "  <small>\n" +
+        "  &nbsp;<a href=\"{0}\" onclick=\"return(confirm('''Are you sure?'''))\">{1}</a>&nbsp;\n" +
+        "  &nbsp;{3}&nbsp;\n" +
+        "  &nbsp;{5}&nbsp;\n" +
+        "  &nbsp;{7}&nbsp;\n" +
+        "  </small>\n" +
+        " </td>\n" +
+        "</tr>\n";
+
     private static final String DEPLOY_SECTION =
         "</table>\n" +
         "<br>\n" +

Modified: branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/JMXProxyServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/JMXProxyServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/JMXProxyServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/LocalStrings.properties
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/LocalStrings.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -58,6 +58,7 @@
 managerServlet.noRole=FAIL - User does not possess role {0}
 managerServlet.noSelf=FAIL - The manager can not reload, undeploy, stop, or undeploy itself
 managerServlet.noWrapper=Container has not called setWrapper() for this servlet
+managerServlet.notDeployed=FAIL - Context {0} is defined in server.xml and may not be undeployed
 managerServlet.reloaded=OK - Reloaded application at context path {0}
 managerServlet.undeployd=OK - Undeployed application at context path {0}
 managerServlet.resourcesAll=OK - Listed global resources of all types

Modified: branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -150,7 +151,7 @@
  *
  * @author Craig R. McClanahan
  * @author Remy Maucherat
- * @version $Revision: 393613 $ $Date: 2006-04-12 16:08:01 -0500 (Wed, 12 Apr 2006) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ManagerServlet
@@ -1276,6 +1277,12 @@
                 }
             }
 
+            if (!isDeployed(path)) {
+                writer.println(sm.getString("managerServlet.notDeployed",
+                        RequestUtil.filter(displayPath)));
+                return;
+            }
+
             if (!isServiced(path)) {
                 addServiced(path);
                 try {
@@ -1368,6 +1375,19 @@
 
 
     /**
+     * Invoke the isDeployed method on the deployer.
+     */
+    protected boolean isDeployed(String name) 
+        throws Exception {
+        String[] params = { name };
+        String[] signature = { "java.lang.String" };
+        Boolean result = 
+            (Boolean) mBeanServer.invoke(oname, "isDeployed", params, signature);
+        return result.booleanValue();
+    }
+    
+
+    /**
      * Invoke the check method on the deployer.
      */
     protected void check(String name) 
@@ -1379,7 +1399,7 @@
     
 
     /**
-     * Invoke the check method on the deployer.
+     * Invoke the isServiced method on the deployer.
      */
     protected boolean isServiced(String name) 
         throws Exception {
@@ -1392,7 +1412,7 @@
     
 
     /**
-     * Invoke the check method on the deployer.
+     * Invoke the addServiced method on the deployer.
      */
     protected void addServiced(String name) 
         throws Exception {
@@ -1403,7 +1423,7 @@
     
 
     /**
-     * Invoke the check method on the deployer.
+     * Invoke the removeServiced method on the deployer.
      */
     protected void removeServiced(String name) 
         throws Exception {

Deleted: branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java.orig
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java.orig	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java.orig	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,1572 +0,0 @@
-/*
- * Copyright 1999,2004 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package org.apache.catalina.manager;
-
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Iterator;
-
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import javax.naming.Binding;
-import javax.naming.InitialContext;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.servlet.ServletException;
-import javax.servlet.ServletInputStream;
-import javax.servlet.UnavailableException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.apache.catalina.Container;
-import org.apache.catalina.ContainerServlet;
-import org.apache.catalina.Context;
-import org.apache.catalina.Engine;
-import org.apache.catalina.Globals;
-import org.apache.catalina.Host;
-import org.apache.catalina.Lifecycle;
-import org.apache.catalina.Role;
-import org.apache.catalina.Server;
-import org.apache.catalina.ServerFactory;
-import org.apache.catalina.Session;
-import org.apache.catalina.UserDatabase;
-import org.apache.catalina.Wrapper;
-import org.apache.catalina.core.StandardServer;
-import org.apache.catalina.util.RequestUtil;
-import org.apache.catalina.util.ServerInfo;
-import org.apache.catalina.util.StringManager;
-import org.apache.commons.modeler.Registry;
-
-
-/**
- * Servlet that enables remote management of the web applications installed
- * within the same virtual host as this web application is.  Normally, this
- * functionality will be protected by a security constraint in the web
- * application deployment descriptor.  However, this requirement can be
- * relaxed during testing.
- * <p>
- * This servlet examines the value returned by <code>getPathInfo()</code>
- * and related query parameters to determine what action is being requested.
- * The following actions and parameters (starting after the servlet path)
- * are supported:
- * <ul>
- * <li><b>/deploy?config={config-url}</b> - Install and start a new
- *     web application, based on the contents of the context configuration
- *     file found at the specified URL.  The <code>docBase</code> attribute
- *     of the context configuration file is used to locate the actual
- *     WAR or directory containing the application.</li>
- * <li><b>/deploy?config={config-url}&war={war-url}/</b> - Install and start
- *     a new web application, based on the contents of the context
- *     configuration file found at <code>{config-url}</code>, overriding the
- *     <code>docBase</code> attribute with the contents of the web
- *     application archive found at <code>{war-url}</code>.</li>
- * <li><b>/deploy?path=/xxx&war={war-url}</b> - Install and start a new
- *     web application attached to context path <code>/xxx</code>, based
- *     on the contents of the web application archive found at the
- *     specified URL.</li>
- * <li><b>/list</b> - List the context paths of all currently installed web
- *     applications for this virtual host.  Each context will be listed with
- *     the following format <code>path:status:sessions</code>.
- *     Where path is the context path.  Status is either running or stopped.
- *     Sessions is the number of active Sessions.</li>
- * <li><b>/reload?path=/xxx</b> - Reload the Java classes and resources for
- *     the application at the specified path.</li>
- * <li><b>/resources?type=xxxx</b> - Enumerate the available global JNDI
- *     resources, optionally limited to those of the specified type
- *     (fully qualified Java class name), if available.</li>
- * <li><b>/roles</b> - Enumerate the available security role names and
- *     descriptions from the user database connected to the <code>users</code>
- *     resource reference.
- * <li><b>/serverinfo</b> - Display system OS and JVM properties.
- * <li><b>/sessions?path=/xxx</b> - List session information about the web
- *     application attached to context path <code>/xxx</code> for this
- *     virtual host.</li>
- * <li><b>/start?path=/xxx</b> - Start the web application attached to
- *     context path <code>/xxx</code> for this virtual host.</li>
- * <li><b>/stop?path=/xxx</b> - Stop the web application attached to
- *     context path <code>/xxx</code> for this virtual host.</li>
- * <li><b>/undeploy?path=/xxx</b> - Shutdown and remove the web application
- *     attached to context path <code>/xxx</code> for this virtual host,
- *     and remove the underlying WAR file or document base directory.
- *     (<em>NOTE</em> - This is only allowed if the WAR file or document
- *     base is stored in the <code>appBase</code> directory of this host,
- *     typically as a result of being placed there via the <code>/deploy</code>
- *     command.</li>
- * </ul>
- * <p>Use <code>path=/</code> for the ROOT context.</p>
- * <p>The syntax of the URL for a web application archive must conform to one
- * of the following patterns to be successfully deployed:</p>
- * <ul>
- * <li><b>file:/absolute/path/to/a/directory</b> - You can specify the absolute
- *     path of a directory that contains the unpacked version of a web
- *     application.  This directory will be attached to the context path you
- *     specify without any changes.</li>
- * <li><b>jar:file:/absolute/path/to/a/warfile.war!/</b> - You can specify a
- *     URL to a local web application archive file.  The syntax must conform to
- *     the rules specified by the <code>JarURLConnection</code> class for a
- *     reference to an entire JAR file.</li>
- * <li><b>jar:http://hostname:port/path/to/a/warfile.war!/</b> - You can specify
- *     a URL to a remote (HTTP-accessible) web application archive file.  The
- *     syntax must conform to the rules specified by the
- *     <code>JarURLConnection</code> class for a reference to an entire
- *     JAR file.</li>
- * </ul>
- * <p>
- * <b>NOTE</b> - Attempting to reload or remove the application containing
- * this servlet itself will not succeed.  Therefore, this servlet should
- * generally be deployed as a separate web application within the virtual host
- * to be managed.
- * <p>
- * <b>NOTE</b> - For security reasons, this application will not operate
- * when accessed via the invoker servlet.  You must explicitly map this servlet
- * with a servlet mapping, and you will always want to protect it with
- * appropriate security constraints as well.
- * <p>
- * The following servlet initialization parameters are recognized:
- * <ul>
- * <li><b>debug</b> - The debugging detail level that controls the amount
- *     of information that is logged by this servlet.  Default is zero.
- * </ul>
- *
- * @author Craig R. McClanahan
- * @author Remy Maucherat
- * @version $Revision: 303614 $ $Date: 2005-01-04 19:03:22 -0600 (Tue, 04 Jan 2005) $
- */
-
-public class ManagerServlet
-    extends HttpServlet implements ContainerServlet {
-
-
-    // ----------------------------------------------------- Instance Variables
-
-
-    /**
-     * Path where context descriptors should be deployed.
-     */
-    protected File configBase = null;
-
-
-    /**
-     * The Context container associated with our web application.
-     */
-    protected Context context = null;
-
-
-    /**
-     * The debugging detail level for this servlet.
-     */
-    protected int debug = 1;
-
-
-    /**
-     * File object representing the directory into which the deploy() command
-     * will store the WAR and context configuration files that have been
-     * uploaded.
-     */
-    protected File deployed = null;
-
-
-    /**
-     * Path used to store revisions of webapps.
-     */
-    protected File versioned = null;
-
-
-    /**
-     * Path used to store context descriptors.
-     */
-    protected File contextDescriptors = null;
-
-
-    /**
-     * The associated host.
-     */
-    protected Host host = null;
-
-    
-    /**
-     * The host appBase.
-     */
-    protected File appBase = null;
-    
-    
-    /**
-     * MBean server.
-     */
-    protected MBeanServer mBeanServer = null;
-
-
-    /**
-     * The associated deployer ObjectName.
-     */
-    protected ObjectName oname = null;
-    
-
-    /**
-     * The global JNDI <code>NamingContext</code> for this server,
-     * if available.
-     */
-    protected javax.naming.Context global = null;
-
-
-    /**
-     * The string manager for this package.
-     */
-    protected static StringManager sm =
-        StringManager.getManager(Constants.Package);
-
-
-    /**
-     * The Wrapper container associated with this servlet.
-     */
-    protected Wrapper wrapper = null;
-
-
-    // ----------------------------------------------- ContainerServlet Methods
-
-
-    /**
-     * Return the Wrapper with which we are associated.
-     */
-    public Wrapper getWrapper() {
-
-        return (this.wrapper);
-
-    }
-
-
-    /**
-     * Set the Wrapper with which we are associated.
-     *
-     * @param wrapper The new wrapper
-     */
-    public void setWrapper(Wrapper wrapper) {
-
-        this.wrapper = wrapper;
-        if (wrapper == null) {
-            context = null;
-            host = null;
-            oname = null;
-        } else {
-            context = (Context) wrapper.getParent();
-            host = (Host) context.getParent();
-            Engine engine = (Engine) host.getParent();
-            try {
-                oname = new ObjectName(engine.getName() 
-                        + ":type=Deployer,host=" + host.getName());
-            } catch (Exception e) {
-                // ?
-            }
-        }
-
-        // Retrieve the MBean server
-        mBeanServer = Registry.getRegistry(null, null).getMBeanServer();
-        
-    }
-
-
-    // --------------------------------------------------------- Public Methods
-
-
-    /**
-     * Finalize this servlet.
-     */
-    public void destroy() {
-
-        ;       // No actions necessary
-
-    }
-
-
-    /**
-     * Process a GET request for the specified resource.
-     *
-     * @param request The servlet request we are processing
-     * @param response The servlet response we are creating
-     *
-     * @exception IOException if an input/output error occurs
-     * @exception ServletException if a servlet-specified error occurs
-     */
-    public void doGet(HttpServletRequest request,
-                      HttpServletResponse response)
-        throws IOException, ServletException {
-
-        // Verify that we were not accessed using the invoker servlet
-        if (request.getAttribute(Globals.INVOKED_ATTR) != null)
-            throw new UnavailableException
-                (sm.getString("managerServlet.cannotInvoke"));
-
-        // Identify the request parameters that we need
-        String command = request.getPathInfo();
-        if (command == null)
-            command = request.getServletPath();
-        String config = request.getParameter("config");
-        String path = request.getParameter("path");
-        String type = request.getParameter("type");
-        String war = request.getParameter("war");
-        String tag = request.getParameter("tag");
-        boolean update = false;
-        if ((request.getParameter("update") != null) 
-            && (request.getParameter("update").equals("true"))) {
-            update = true;
-        }
-
-        // Prepare our output writer to generate the response message
-        response.setContentType("text/plain; charset=" + Constants.CHARSET);
-        PrintWriter writer = response.getWriter();
-
-        // Process the requested command (note - "/deploy" is not listed here)
-        if (command == null) {
-            writer.println(sm.getString("managerServlet.noCommand"));
-        } else if (command.equals("/deploy")) {
-            if (war != null || config != null) {
-                deploy(writer, config, path, war, update);
-            } else {
-                deploy(writer, path, tag);
-            }
-        } else if (command.equals("/install")) {
-            // Deprecated
-            deploy(writer, config, path, war, false);
-        } else if (command.equals("/list")) {
-            list(writer);
-        } else if (command.equals("/reload")) {
-            reload(writer, path);
-        } else if (command.equals("/remove")) {
-            // Deprecated
-            undeploy(writer, path);
-        } else if (command.equals("/resources")) {
-            resources(writer, type);
-        } else if (command.equals("/roles")) {
-            roles(writer);
-        } else if (command.equals("/save")) {
-            save(writer, path);
-        } else if (command.equals("/serverinfo")) {
-            serverinfo(writer);
-        } else if (command.equals("/sessions")) {
-            sessions(writer, path);
-        } else if (command.equals("/start")) {
-            start(writer, path);
-        } else if (command.equals("/stop")) {
-            stop(writer, path);
-        } else if (command.equals("/undeploy")) {
-            undeploy(writer, path);
-        } else {
-            writer.println(sm.getString("managerServlet.unknownCommand",
-                                        command));
-        }
-
-        // Finish up the response
-        writer.flush();
-        writer.close();
-
-    }
-
-
-    /**
-     * Process a PUT request for the specified resource.
-     *
-     * @param request The servlet request we are processing
-     * @param response The servlet response we are creating
-     *
-     * @exception IOException if an input/output error occurs
-     * @exception ServletException if a servlet-specified error occurs
-     */
-    public void doPut(HttpServletRequest request,
-                      HttpServletResponse response)
-        throws IOException, ServletException {
-
-        // Verify that we were not accessed using the invoker servlet
-        if (request.getAttribute(Globals.INVOKED_ATTR) != null)
-            throw new UnavailableException
-                (sm.getString("managerServlet.cannotInvoke"));
-
-        // Identify the request parameters that we need
-        String command = request.getPathInfo();
-        if (command == null)
-            command = request.getServletPath();
-        String path = request.getParameter("path");
-        String tag = request.getParameter("tag");
-        boolean update = false;
-        if ((request.getParameter("update") != null) 
-            && (request.getParameter("update").equals("true"))) {
-            update = true;
-        }
-
-        // Prepare our output writer to generate the response message
-        response.setContentType("text/plain;charset="+Constants.CHARSET);
-        PrintWriter writer = response.getWriter();
-
-        // Process the requested command
-        if (command == null) {
-            writer.println(sm.getString("managerServlet.noCommand"));
-        } else if (command.equals("/deploy")) {
-            deploy(writer, path, tag, update, request);
-        } else {
-            writer.println(sm.getString("managerServlet.unknownCommand",
-                                        command));
-        }
-
-        // Finish up the response
-        writer.flush();
-        writer.close();
-
-    }
-
-
-    /**
-     * Initialize this servlet.
-     */
-    public void init() throws ServletException {
-
-        // Ensure that our ContainerServlet properties have been set
-        if ((wrapper == null) || (context == null))
-            throw new UnavailableException
-                (sm.getString("managerServlet.noWrapper"));
-
-        // Verify that we were not accessed using the invoker servlet
-        String servletName = getServletConfig().getServletName();
-        if (servletName == null)
-            servletName = "";
-        if (servletName.startsWith("org.apache.catalina.INVOKER."))
-            throw new UnavailableException
-                (sm.getString("managerServlet.cannotInvoke"));
-
-        // Set our properties from the initialization parameters
-        String value = null;
-        try {
-            value = getServletConfig().getInitParameter("debug");
-            debug = Integer.parseInt(value);
-        } catch (Throwable t) {
-            ;
-        }
-
-        // Acquire global JNDI resources if available
-        Server server = ServerFactory.getServer();
-        if ((server != null) && (server instanceof StandardServer)) {
-            global = ((StandardServer) server).getGlobalNamingContext();
-        }
-
-        // Calculate the directory into which we will be deploying applications
-        versioned = (File) getServletContext().getAttribute
-            ("javax.servlet.context.tempdir");
-
-        // Identify the appBase of the owning Host of this Context
-        // (if any)
-        String appBase = ((Host) context.getParent()).getAppBase();
-        deployed = new File(appBase);
-        if (!deployed.isAbsolute()) {
-            deployed = new File(System.getProperty("catalina.base"),
-                                appBase);
-        }
-        configBase = new File(System.getProperty("catalina.base"), "conf");
-        Container container = context;
-        Container host = null;
-        Container engine = null;
-        while (container != null) {
-            if (container instanceof Host)
-                host = container;
-            if (container instanceof Engine)
-                engine = container;
-            container = container.getParent();
-        }
-        if (engine != null) {
-            configBase = new File(configBase, engine.getName());
-        }
-        if (host != null) {
-            configBase = new File(configBase, host.getName());
-        }
-        // Note: The directory must exist for this to work.
-
-        // Log debugging messages as necessary
-        if (debug >= 1) {
-            log("init: Associated with Deployer '" +
-                oname + "'");
-            if (global != null) {
-                log("init: Global resources are available");
-            }
-        }
-
-    }
-
-
-
-    // -------------------------------------------------------- Private Methods
-
-
-    /**
-     * Store server configuration.
-     * 
-     * @param path Optional context path to save
-     */
-    protected synchronized void save(PrintWriter writer, String path) {
-
-        Server server = ServerFactory.getServer();
-
-        if (!(server instanceof StandardServer)) {
-            writer.println(sm.getString("managerServlet.saveFail", server));
-            return;
-        }
-
-        if ((path == null) || path.length() == 0 || !path.startsWith("/")) {
-            try {
-                ((StandardServer) server).storeConfig();
-                writer.println(sm.getString("managerServlet.saved"));
-            } catch (Exception e) {
-                log("managerServlet.storeConfig", e);
-                writer.println(sm.getString("managerServlet.exception",
-                                            e.toString()));
-                return;
-            }
-        } else {
-            String contextPath = path;
-            if (path.equals("/")) {
-                contextPath = "";
-            }
-            Context context = (Context) host.findChild(contextPath);
-            if (context == null) {
-                writer.println(sm.getString("managerServlet.noContext", path));
-                return;
-            }
-            try {
-                ((StandardServer) server).storeContext(context);
-                writer.println(sm.getString("managerServlet.savedContext", 
-                               path));
-            } catch (Exception e) {
-                log("managerServlet.save[" + path + "]", e);
-                writer.println(sm.getString("managerServlet.exception",
-                                            e.toString()));
-                return;
-            }
-        }
-
-    }
-
-
-    /**
-     * Deploy a web application archive (included in the current request)
-     * at the specified context path.
-     *
-     * @param writer Writer to render results to
-     * @param path Context path of the application to be installed
-     * @param tag Tag to be associated with the webapp
-     * @param request Servlet request we are processing
-     */
-    protected synchronized void deploy
-        (PrintWriter writer, String path,
-         String tag, boolean update, HttpServletRequest request) {
-
-        if (debug >= 1) {
-            log("deploy: Deploying web application at '" + path + "'");
-        }
-
-        // Validate the requested context path
-        if ((path == null) || path.length() == 0 || !path.startsWith("/")) {
-            writer.println(sm.getString("managerServlet.invalidPath", path));
-            return;
-        }
-        String displayPath = path;
-        if( path.equals("/") )
-            path = "";
-        String basename = getDocBase(path);
-
-        // Check if app already exists, or undeploy it if updating
-        Context context = (Context) host.findChild(path);
-        if (update) {
-            if (context != null) {
-                undeploy(writer, displayPath);
-            }
-            context = (Context) host.findChild(path);
-        }
-        if (context != null) {
-            writer.println
-                (sm.getString("managerServlet.alreadyContext",
-                              displayPath));
-            return;
-        }
-
-        // Calculate the base path
-        File deployedPath = deployed;
-        if (tag != null) {
-            deployedPath = new File(versioned, tag);
-            deployedPath.mkdirs();
-        }
-
-        // Upload the web application archive to a local WAR file
-        File localWar = new File(deployedPath, basename + ".war");
-        if (debug >= 2) {
-            log("Uploading WAR file to " + localWar);
-        }
-
-        // Copy WAR to appBase
-        try {
-            if (!isServiced(path)) {
-                addServiced(path);
-                try {
-                    // Upload WAR
-                    uploadWar(request, localWar);
-                    // Copy WAR and XML to the host app base if needed
-                    if (tag != null) {
-                        deployedPath = deployed;
-                        File localWarCopy = new File(deployedPath, basename + ".war");
-                        copy(localWar, localWarCopy);
-                        localWar = localWarCopy;
-                        copy(localWar, new File(getAppBase(), basename + ".war"));
-                    }
-                    // Perform new deployment
-                    check(path);
-                } finally {
-                    removeServiced(path);
-                }
-            }
-        } catch (Exception e) {
-            log("managerServlet.check[" + displayPath + "]", e);
-            writer.println(sm.getString("managerServlet.exception",
-                                        e.toString()));
-            return;
-        }
-        
-        context = (Context) host.findChild(path);
-        if (context != null && context.getConfigured()) {
-            writer.println(sm.getString("managerServlet.deployed", displayPath));
-        } else {
-            // Something failed
-            writer.println(sm.getString("managerServlet.deployFailed", displayPath));
-        }
-        
-    }
-
-
-    /**
-     * Install an application for the specified path from the specified
-     * web application archive.
-     *
-     * @param writer Writer to render results to
-     * @param tag Revision tag to deploy from
-     * @param path Context path of the application to be installed
-     */
-    protected void deploy(PrintWriter writer, String path, String tag) {
-
-        // Validate the requested context path
-        if ((path == null) || path.length() == 0 || !path.startsWith("/")) {
-            writer.println(sm.getString("managerServlet.invalidPath", path));
-            return;
-        }
-        String displayPath = path;
-        if( path.equals("/") )
-            path = "";
-
-        // Calculate the base path
-        File deployedPath = versioned;
-        if (tag != null) {
-            deployedPath = new File(deployedPath, tag);
-        }
-
-        // Find the local WAR file
-        File localWar = new File(deployedPath, getDocBase(path) + ".war");
-        // Find the local context deployment file (if any)
-        File localXml = new File(configBase, getConfigFile(path) + ".xml");
-
-        // Check if app already exists, or undeploy it if updating
-        Context context = (Context) host.findChild(path);
-        if (context != null) {
-            undeploy(writer, displayPath);
-        }
-
-        // Copy WAR to appBase
-        try {
-            if (!isServiced(path)) {
-                addServiced(path);
-                try {
-                    copy(localWar, new File(getAppBase(), getDocBase(path) + ".war"));
-                    // Perform new deployment
-                    check(path);
-                } finally {
-                    removeServiced(path);
-                }
-            }
-        } catch (Exception e) {
-            log("managerServlet.check[" + displayPath + "]", e);
-            writer.println(sm.getString("managerServlet.exception",
-                                        e.toString()));
-            return;
-        }
-        
-        context = (Context) host.findChild(path);
-        if (context != null && context.getConfigured()) {
-            writer.println(sm.getString("managerServlet.deployed", displayPath));
-        } else {
-            // Something failed
-            writer.println(sm.getString("managerServlet.deployFailed", displayPath));
-        }
-        
-    }
-
-
-    /**
-     * Install an application for the specified path from the specified
-     * web application archive.
-     *
-     * @param writer Writer to render results to
-     * @param config URL of the context configuration file to be installed
-     * @param path Context path of the application to be installed
-     * @param war URL of the web application archive to be installed
-     * @param update true to override any existing webapp on the path
-     */
-    protected void deploy(PrintWriter writer, String config,
-            String path, String war, boolean update) {
-        
-        if (config != null && config.length() == 0) {
-            config = null;
-        }
-        if (war != null && war.length() == 0) {
-            war = null;
-        }
-        
-        if (debug >= 1) {
-            if (config != null && config.length() > 0) {
-                if (war != null) {
-                    log("install: Installing context configuration at '" +
-                            config + "' from '" + war + "'");
-                } else {
-                    log("install: Installing context configuration at '" +
-                            config + "'");
-                }
-            } else {
-                if (path != null && path.length() > 0) {
-                    log("install: Installing web application at '" + path +
-                            "' from '" + war + "'");
-                } else {
-                    log("install: Installing web application from '" + war + "'");
-                }
-            }
-        }
-        
-        if (path == null || path.length() == 0 || !path.startsWith("/")) {
-            writer.println(sm.getString("managerServlet.invalidPath",
-                                        RequestUtil.filter(path)));
-            return;
-        }
-        String displayPath = path;
-        if("/".equals(path)) {
-            path = "";
-        }
-        
-        // Check if app already exists, or undeploy it if updating
-        Context context = (Context) host.findChild(path);
-        if (update) {
-            if (context != null) {
-                undeploy(writer, displayPath);
-            }
-            context = (Context) host.findChild(path);
-        }
-        if (context != null) {
-            writer.println
-            (sm.getString("managerServlet.alreadyContext",
-                    displayPath));
-            return;
-        }
-        
-        if (config != null && (config.startsWith("file:"))) {
-            config = config.substring("file:".length());
-        }
-        if (war != null && (war.startsWith("file:"))) {
-            war = war.substring("file:".length());
-        }
-        
-        try {
-            if (!isServiced(path)) {
-                addServiced(path);
-                try {
-                    if (config != null) {
-                        copy(new File(config), 
-                                new File(configBase, getConfigFile(path) + ".xml"));
-                    }
-                    if (war != null) {
-                        if (war.endsWith(".war")) {
-                            copy(new File(war), 
-                                    new File(getAppBase(), getDocBase(path) + ".war"));
-                        } else {
-                            copy(new File(war), 
-                                    new File(getAppBase(), getDocBase(path)));
-                        }
-                    }
-                    // Perform new deployment
-                    check(path);
-                } finally {
-                    removeServiced(path);
-                }
-            }
-            context = (Context) host.findChild(path);
-            if (context != null && context.getConfigured()) {
-                writer.println(sm.getString("managerServlet.deployed", displayPath));
-            } else {
-                // Something failed
-                writer.println(sm.getString("managerServlet.deployFailed", displayPath));
-            }
-        } catch (Throwable t) {
-            log("ManagerServlet.install[" + displayPath + "]", t);
-            writer.println(sm.getString("managerServlet.exception",
-                    t.toString()));
-        }
-        
-    }
-
-
-    /**
-     * Render a list of the currently active Contexts in our virtual host.
-     *
-     * @param writer Writer to render to
-     */
-    protected void list(PrintWriter writer) {
-
-        if (debug >= 1)
-            log("list: Listing contexts for virtual host '" +
-                host.getName() + "'");
-
-        writer.println(sm.getString("managerServlet.listed",
-                                    host.getName()));
-        Container[] contexts = host.findChildren();
-        for (int i = 0; i < contexts.length; i++) {
-            Context context = (Context) contexts[i];
-            String displayPath = context.getPath();
-            if( displayPath.equals("") )
-                displayPath = "/";
-            if (context != null ) {
-                if (context.getAvailable()) {
-                    writer.println(sm.getString("managerServlet.listitem",
-                                                displayPath,
-                                                "running",
-                                      "" + context.getManager().findSessions().length,
-                                                context.getDocBase()));
-                } else {
-                    writer.println(sm.getString("managerServlet.listitem",
-                                                displayPath,
-                                                "stopped",
-                                                "0",
-                                                context.getDocBase()));
-                }
-            }
-        }
-    }
-
-
-    /**
-     * Reload the web application at the specified context path.
-     *
-     * @param writer Writer to render to
-     * @param path Context path of the application to be restarted
-     */
-    protected void reload(PrintWriter writer, String path) {
-
-        if (debug >= 1)
-            log("restart: Reloading web application at '" + path + "'");
-
-        if ((path == null) || (!path.startsWith("/") && path.equals(""))) {
-            writer.println(sm.getString("managerServlet.invalidPath",
-                                        RequestUtil.filter(path)));
-            return;
-        }
-        String displayPath = path;
-        if( path.equals("/") )
-            path = "";
-
-        try {
-            Context context = (Context) host.findChild(path);
-            if (context == null) {
-                writer.println(sm.getString
-                               ("managerServlet.noContext",
-                                   RequestUtil.filter(displayPath)));
-                return;
-            }
-            // It isn't possible for the manager to reload itself
-            if (context.getPath().equals(this.context.getPath())) {
-                writer.println(sm.getString("managerServlet.noSelf"));
-                return;
-            }
-            context.reload();
-            writer.println
-                (sm.getString("managerServlet.reloaded", displayPath));
-        } catch (Throwable t) {
-            log("ManagerServlet.reload[" + displayPath + "]", t);
-            writer.println(sm.getString("managerServlet.exception",
-                                        t.toString()));
-        }
-
-    }
-
-
-    /**
-     * Render a list of available global JNDI resources.
-     *
-     * @param type Fully qualified class name of the resource type of interest,
-     *  or <code>null</code> to list resources of all types
-     */
-    protected void resources(PrintWriter writer, String type) {
-
-        if (debug >= 1) {
-            if (type != null) {
-                log("resources:  Listing resources of type " + type);
-            } else {
-                log("resources:  Listing resources of all types");
-            }
-        }
-
-        // Is the global JNDI resources context available?
-        if (global == null) {
-            writer.println(sm.getString("managerServlet.noGlobal"));
-            return;
-        }
-
-        // Enumerate the global JNDI resources of the requested type
-        if (type != null) {
-            writer.println(sm.getString("managerServlet.resourcesType",
-                                        type));
-        } else {
-            writer.println(sm.getString("managerServlet.resourcesAll"));
-        }
-
-        Class clazz = null;
-        try {
-            if (type != null) {
-                clazz = Class.forName(type);
-            }
-        } catch (Throwable t) {
-            log("ManagerServlet.resources[" + type + "]", t);
-            writer.println(sm.getString("managerServlet.exception",
-                                        t.toString()));
-            return;
-        }
-
-        printResources(writer, "", global, type, clazz);
-
-    }
-
-
-    /**
-     * List the resources of the given context.
-     */
-    protected void printResources(PrintWriter writer, String prefix,
-                                  javax.naming.Context namingContext,
-                                  String type, Class clazz) {
-
-        try {
-            NamingEnumeration items = namingContext.listBindings("");
-            while (items.hasMore()) {
-                Binding item = (Binding) items.next();
-                if (item.getObject() instanceof javax.naming.Context) {
-                    printResources
-                        (writer, prefix + item.getName() + "/",
-                         (javax.naming.Context) item.getObject(), type, clazz);
-                } else {
-                    if ((clazz != null) &&
-                        (!(clazz.isInstance(item.getObject())))) {
-                        continue;
-                    }
-                    writer.print(prefix + item.getName());
-                    writer.print(':');
-                    writer.print(item.getClassName());
-                    // Do we want a description if available?
-                    writer.println();
-                }
-            }
-        } catch (Throwable t) {
-            log("ManagerServlet.resources[" + type + "]", t);
-            writer.println(sm.getString("managerServlet.exception",
-                                        t.toString()));
-        }
-
-    }
-
-
-    /**
-     * Render a list of security role names (and corresponding descriptions)
-     * from the <code>org.apache.catalina.UserDatabase</code> resource that is
-     * connected to the <code>users</code> resource reference.  Typically, this
-     * will be the global user database, but can be adjusted if you have
-     * different user databases for different virtual hosts.
-     *
-     * @param writer Writer to render to
-     */
-    protected void roles(PrintWriter writer) {
-
-        if (debug >= 1) {
-            log("roles:  List security roles from user database");
-        }
-
-        // Look up the UserDatabase instance we should use
-        UserDatabase database = null;
-        try {
-            InitialContext ic = new InitialContext();
-            database = (UserDatabase) ic.lookup("java:comp/env/users");
-        } catch (NamingException e) {
-            writer.println(sm.getString("managerServlet.userDatabaseError"));
-            log("java:comp/env/users", e);
-            return;
-        }
-        if (database == null) {
-            writer.println(sm.getString("managerServlet.userDatabaseMissing"));
-            return;
-        }
-
-        // Enumerate the available roles
-        writer.println(sm.getString("managerServlet.rolesList"));
-        Iterator roles = database.getRoles();
-        if (roles != null) {
-            while (roles.hasNext()) {
-                Role role = (Role) roles.next();
-                writer.print(role.getRolename());
-                writer.print(':');
-                if (role.getDescription() != null) {
-                    writer.print(role.getDescription());
-                }
-                writer.println();
-            }
-        }
-
-
-    }
-
-
-    /**
-     * Writes System OS and JVM properties.
-     * @param writer Writer to render to
-     */
-    protected void serverinfo(PrintWriter writer) {
-        if (debug >= 1)
-            log("serverinfo");
-        try {
-            StringBuffer props = new StringBuffer();
-            props.append("OK - Server info");
-            props.append("\nTomcat Version: ");
-            props.append(ServerInfo.getServerInfo());
-            props.append("\nOS Name: ");
-            props.append(System.getProperty("os.name"));
-            props.append("\nOS Version: ");
-            props.append(System.getProperty("os.version"));
-            props.append("\nOS Architecture: ");
-            props.append(System.getProperty("os.arch"));
-            props.append("\nJVM Version: ");
-            props.append(System.getProperty("java.runtime.version"));
-            props.append("\nJVM Vendor: ");
-            props.append(System.getProperty("java.vm.vendor"));
-            writer.println(props.toString());
-        } catch (Throwable t) {
-            getServletContext().log("ManagerServlet.serverinfo",t);
-            writer.println(sm.getString("managerServlet.exception",
-                                        t.toString()));
-        }
-    }
-
-    /**
-     * Session information for the web application at the specified context path.
-     * Displays a profile of session MaxInactiveInterval timeouts listing number
-     * of sessions for each 10 minute timeout interval up to 10 hours.
-     *
-     * @param writer Writer to render to
-     * @param path Context path of the application to list session information for
-     */
-    protected void sessions(PrintWriter writer, String path) {
-
-        if (debug >= 1)
-            log("sessions: Session information for web application at '" + path + "'");
-
-        if ((path == null) || (!path.startsWith("/") && path.equals(""))) {
-            writer.println(sm.getString("managerServlet.invalidPath",
-                                        RequestUtil.filter(path)));
-            return;
-        }
-        String displayPath = path;
-        if( path.equals("/") )
-            path = "";
-        try {
-            Context context = (Context) host.findChild(path);
-            if (context == null) {
-                writer.println(sm.getString("managerServlet.noContext",
-                                            RequestUtil.filter(displayPath)));
-                return;
-            }
-            writer.println(sm.getString("managerServlet.sessions", displayPath));
-            writer.println(sm.getString("managerServlet.sessiondefaultmax",
-                                "" + context.getManager().getMaxInactiveInterval()/60));
-            Session [] sessions = context.getManager().findSessions();
-            int [] timeout = new int[60];
-            int notimeout = 0;
-            for (int i = 0; i < sessions.length; i++) {
-                int time = sessions[i].getMaxInactiveInterval()/(10*60);
-                if (time < 0)
-                    notimeout++;
-                else if (time >= timeout.length)
-                    timeout[timeout.length-1]++;
-                else
-                    timeout[time]++;
-            }
-            if (timeout[0] > 0)
-                writer.println(sm.getString("managerServlet.sessiontimeout",
-                                            "<10", "" + timeout[0]));
-            for (int i = 1; i < timeout.length-1; i++) {
-                if (timeout[i] > 0)
-                    writer.println(sm.getString("managerServlet.sessiontimeout",
-                                     "" + (i)*10 + " - <" + (i+1)*10,
-                                                "" + timeout[i]));
-            }
-            if (timeout[timeout.length-1] > 0)
-                writer.println(sm.getString("managerServlet.sessiontimeout",
-                                            ">=" + timeout.length*10,
-                                            "" + timeout[timeout.length-1]));
-            if (notimeout > 0)
-                writer.println(sm.getString("managerServlet.sessiontimeout",
-                                            "unlimited","" + notimeout));
-        } catch (Throwable t) {
-            log("ManagerServlet.sessions[" + displayPath + "]", t);
-            writer.println(sm.getString("managerServlet.exception",
-                                        t.toString()));
-        }
-
-    }
-
-
-    /**
-     * Start the web application at the specified context path.
-     *
-     * @param writer Writer to render to
-     * @param path Context path of the application to be started
-     */
-    protected void start(PrintWriter writer, String path) {
-
-        if (debug >= 1)
-            log("start: Starting web application at '" + path + "'");
-
-        if ((path == null) || (!path.startsWith("/") && path.equals(""))) {
-            writer.println(sm.getString("managerServlet.invalidPath",
-                                        RequestUtil.filter(path)));
-            return;
-        }
-        String displayPath = path;
-        if( path.equals("/") )
-            path = "";
-
-        try {
-            Context context = (Context) host.findChild(path);
-            if (context == null) {
-                writer.println(sm.getString("managerServlet.noContext", 
-                                            RequestUtil.filter(displayPath)));
-                return;
-            }
-            ((Lifecycle) context).start();
-            if (context.getAvailable())
-                writer.println
-                    (sm.getString("managerServlet.started", displayPath));
-            else
-                writer.println
-                    (sm.getString("managerServlet.startFailed", displayPath));
-        } catch (Throwable t) {
-            getServletContext().log
-                (sm.getString("managerServlet.startFailed", displayPath), t);
-            writer.println
-                (sm.getString("managerServlet.startFailed", displayPath));
-            writer.println(sm.getString("managerServlet.exception",
-                                        t.toString()));
-        }
-
-    }
-
-
-    /**
-     * Stop the web application at the specified context path.
-     *
-     * @param writer Writer to render to
-     * @param path Context path of the application to be stopped
-     */
-    protected void stop(PrintWriter writer, String path) {
-
-        if (debug >= 1)
-            log("stop: Stopping web application at '" + path + "'");
-
-        if ((path == null) || (!path.startsWith("/") && path.equals(""))) {
-            writer.println(sm.getString("managerServlet.invalidPath",
-                                        RequestUtil.filter(path)));
-            return;
-        }
-        String displayPath = path;
-        if( path.equals("/") )
-            path = "";
-
-        try {
-            Context context = (Context) host.findChild(path);
-            if (context == null) {
-                writer.println(sm.getString("managerServlet.noContext", 
-                                            RequestUtil.filter(displayPath)));
-                return;
-            }
-            // It isn't possible for the manager to stop itself
-            if (context.getPath().equals(this.context.getPath())) {
-                writer.println(sm.getString("managerServlet.noSelf"));
-                return;
-            }
-            ((Lifecycle) context).stop();
-            writer.println(sm.getString("managerServlet.stopped", displayPath));
-        } catch (Throwable t) {
-            log("ManagerServlet.stop[" + displayPath + "]", t);
-            writer.println(sm.getString("managerServlet.exception",
-                                        t.toString()));
-        }
-
-    }
-
-
-    /**
-     * Undeploy the web application at the specified context path.
-     *
-     * @param writer Writer to render to
-     * @param path Context path of the application to be removed
-     */
-    protected void undeploy(PrintWriter writer, String path) {
-
-        if (debug >= 1)
-            log("undeploy: Undeploying web application at '" + path + "'");
-
-        if ((path == null) || (!path.startsWith("/") && path.equals(""))) {
-            writer.println(sm.getString("managerServlet.invalidPath",
-                                        RequestUtil.filter(path)));
-            return;
-        }
-        String displayPath = path;
-        if( path.equals("/") )
-            path = "";
-
-        try {
-
-            // Validate the Context of the specified application
-            Context context = (Context) host.findChild(path);
-            if (context == null) {
-                writer.println(sm.getString("managerServlet.noContext",
-                                            RequestUtil.filter(displayPath)));
-                return;
-            }
-
-            // Identify the appBase of the owning Host of this Context (if any)
-            String appBase = null;
-            File appBaseDir = null;
-            if (context.getParent() instanceof Host) {
-                appBase = ((Host) context.getParent()).getAppBase();
-                appBaseDir = new File(appBase);
-                if (!appBaseDir.isAbsolute()) {
-                    appBaseDir = new File(System.getProperty("catalina.base"),
-                                          appBase);
-                }
-            }
-
-            if (!isServiced(path)) {
-                addServiced(path);
-                try {
-                    // Try to stop the context first to be nicer
-                    ((Lifecycle) context).stop();
-                } catch (Throwable t) {
-                    // Ignore
-                }
-                try {
-                    File war = new File(getAppBase(), getDocBase(path) + ".war");
-                    File dir = new File(getAppBase(), getDocBase(path));
-                    File xml = new File(configBase, getConfigFile(path) + ".xml");
-                    if (war.exists()) {
-                        war.delete();
-                    } else if (dir.exists()) {
-                        undeployDir(dir);
-                    } else {
-                        xml.delete();
-                    }
-                    // Perform new deployment
-                    check(path);
-                } finally {
-                    removeServiced(path);
-                }
-            }
-            writer.println(sm.getString("managerServlet.undeployed",
-                                        displayPath));
-        } catch (Throwable t) {
-            log("ManagerServlet.undeploy[" + displayPath + "]", t);
-            writer.println(sm.getString("managerServlet.exception",
-                                        t.toString()));
-        }
-
-    }
-
-
-    // -------------------------------------------------------- Support Methods
-
-
-    /**
-     * Given a context path, get the config file name.
-     */
-    protected String getConfigFile(String path) {
-        String basename = null;
-        if (path.equals("")) {
-            basename = "ROOT";
-        } else {
-            basename = path.substring(1).replace('/', '#');
-        }
-        return (basename);
-    }
-
-
-    /**
-     * Given a context path, get the config file name.
-     */
-    protected String getDocBase(String path) {
-        String basename = null;
-        if (path.equals("")) {
-            basename = "ROOT";
-        } else {
-            basename = path.substring(1);
-        }
-        return (basename);
-    }
-
-    
-    /**
-     * Return a File object representing the "application root" directory
-     * for our associated Host.
-     */
-    protected File getAppBase() {
-
-        if (appBase != null) {
-            return appBase;
-        }
-
-        File file = new File(host.getAppBase());
-        if (!file.isAbsolute())
-            file = new File(System.getProperty("catalina.base"),
-                            host.getAppBase());
-        try {
-            appBase = file.getCanonicalFile();
-        } catch (IOException e) {
-            appBase = file;
-        }
-        return (appBase);
-
-    }
-
-
-    /**
-     * Invoke the check method on the deployer.
-     */
-    protected void check(String name) 
-        throws Exception {
-        String[] params = { name };
-        String[] signature = { "java.lang.String" };
-        mBeanServer.invoke(oname, "check", params, signature);
-    }
-    
-
-    /**
-     * Invoke the check method on the deployer.
-     */
-    protected boolean isServiced(String name) 
-        throws Exception {
-        String[] params = { name };
-        String[] signature = { "java.lang.String" };
-        Boolean result = 
-            (Boolean) mBeanServer.invoke(oname, "isServiced", params, signature);
-        return result.booleanValue();
-    }
-    
-
-    /**
-     * Invoke the check method on the deployer.
-     */
-    protected void addServiced(String name) 
-        throws Exception {
-        String[] params = { name };
-        String[] signature = { "java.lang.String" };
-        mBeanServer.invoke(oname, "addServiced", params, signature);
-    }
-    
-
-    /**
-     * Invoke the check method on the deployer.
-     */
-    protected void removeServiced(String name) 
-        throws Exception {
-        String[] params = { name };
-        String[] signature = { "java.lang.String" };
-        mBeanServer.invoke(oname, "removeServiced", params, signature);
-    }
-    
-
-    /**
-     * Delete the specified directory, including all of its contents and
-     * subdirectories recursively.
-     *
-     * @param dir File object representing the directory to be deleted
-     */
-    protected void undeployDir(File dir) {
-
-        String files[] = dir.list();
-        if (files == null) {
-            files = new String[0];
-        }
-        for (int i = 0; i < files.length; i++) {
-            File file = new File(dir, files[i]);
-            if (file.isDirectory()) {
-                undeployDir(file);
-            } else {
-                file.delete();
-            }
-        }
-        dir.delete();
-
-    }
-
-
-    /**
-     * Upload the WAR file included in this request, and store it at the
-     * specified file location.
-     *
-     * @param request The servlet request we are processing
-     * @param war The file into which we should store the uploaded WAR
-     *
-     * @exception IOException if an I/O error occurs during processing
-     */
-    protected void uploadWar(HttpServletRequest request, File war)
-        throws IOException {
-
-        war.delete();
-        ServletInputStream istream = null;
-        BufferedOutputStream ostream = null;
-        try {
-            istream = request.getInputStream();
-            ostream =
-                new BufferedOutputStream(new FileOutputStream(war), 1024);
-            byte buffer[] = new byte[1024];
-            while (true) {
-                int n = istream.read(buffer);
-                if (n < 0) {
-                    break;
-                }
-                ostream.write(buffer, 0, n);
-            }
-            ostream.flush();
-            ostream.close();
-            ostream = null;
-            istream.close();
-            istream = null;
-        } catch (IOException e) {
-            war.delete();
-            throw e;
-        } finally {
-            if (ostream != null) {
-                try {
-                    ostream.close();
-                } catch (Throwable t) {
-                    ;
-                }
-                ostream = null;
-            }
-            if (istream != null) {
-                try {
-                    istream.close();
-                } catch (Throwable t) {
-                    ;
-                }
-                istream = null;
-            }
-        }
-
-    }
-
-
-    /**
-     * Copy the specified file or directory to the destination.
-     *
-     * @param src File object representing the source
-     * @param dest File object representing the destination
-     */
-    public static boolean copy(File src, File dest) {
-        return copyInternal(src, dest, new byte[4096]);
-    }
-
-    
-    /**
-     * Copy the specified file or directory to the destination.
-     *
-     * @param src File object representing the source
-     * @param dest File object representing the destination
-     */
-    public static boolean copyInternal(File src, File dest, byte[] buf) {
-        
-        boolean result = true;
-        
-        String files[] = null;
-        if (src.isDirectory()) {
-            files = src.list();
-            result = dest.mkdir();
-        } else {
-            files = new String[1];
-            files[0] = "";
-        }
-        if (files == null) {
-            files = new String[0];
-        }
-        for (int i = 0; (i < files.length) && result; i++) {
-            File fileSrc = new File(src, files[i]);
-            File fileDest = new File(dest, files[i]);
-            if (fileSrc.isDirectory()) {
-                result = copyInternal(fileSrc, fileDest, buf);
-            } else {
-                FileInputStream is = null;
-                FileOutputStream os = null;
-                try {
-                    is = new FileInputStream(fileSrc);
-                    os = new FileOutputStream(fileDest);
-                    int len = 0;
-                    while (true) {
-                        len = is.read(buf);
-                        if (len == -1)
-                            break;
-                        os.write(buf, 0, len);
-                    }
-                } catch (IOException e) {
-                    e.printStackTrace();
-                    result = false;
-                } finally {
-                    if (is != null) {
-                        try {
-                            is.close();
-                        } catch (IOException e) {
-                        }
-                    }
-                    if (os != null) {
-                        try {
-                            os.close();
-                        } catch (IOException e) {
-                        }
-                    }
-                }
-            }
-        }
-        return result;
-        
-    }
-    
-    
-}

Modified: branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusManagerServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusManagerServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusManagerServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -46,7 +47,7 @@
  * This servlet will display a complete status of the HTTP/1.1 connector.
  *
  * @author Remy Maucherat
- * @version $Revision: 303870 $ $Date: 2005-04-18 17:50:24 -0500 (Mon, 18 Apr 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class StatusManagerServlet

Modified: branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusTransformer.java
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusTransformer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusTransformer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -40,7 +41,7 @@
  * use XSLT, that is unnecessarily complex.
  *
  * @author Peter Lin
- * @version $Revision: 303967 $ $Date: 2005-06-29 12:31:56 -0500 (Wed, 29 Jun 2005) $
+ * @version $Revision: 466608 $ $Date: 2006-10-21 17:10:15 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class StatusTransformer {

Modified: branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/web.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/web.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/manager/WEB-INF/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/container/webapps/webdav/WEB-INF/web.xml
===================================================================
--- branches/tomcat5.5/upstream/current/container/webapps/webdav/WEB-INF/web.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/container/webapps/webdav/WEB-INF/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/build.xml
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/build.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
 <project name="Jasper2" default="deploy" basedir=".">
 
 

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/Constants.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/Constants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -185,10 +186,30 @@
         "_jspx_temp";
 
     /**
-     * A replacement char for "\$".
-     * XXX This is a hack to avoid changing EL interpreter to recognize "\$"
+     * Previous replacement char for "\$".
+     * @deprecated
      */
     public static final char ESC='\u001b';
+    
+    /**
+     * Previous replacement char for "\$".
+     * @deprecated
+     */
     public static final String ESCStr="'\\u001b'";
+    
+    /**
+     * Replacement char for "\$". This is the first unicode character in the
+     * private use area.
+     * XXX This is a hack to avoid changing EL interpreter to recognize "\$"
+     */
+    public static final char HACK_CHAR = '\ue000';
+    
+    /**
+     * Replacement string for "\$". This is the first unicode character in the
+     * private use area.
+     * XXX This is a hack to avoid changing EL interpreter to recognize "\$"
+     */
+    public static final String HACK_STR = "'\\ue000'";
+    
 }
 

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/EmbeddedServletOptions.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/EmbeddedServletOptions.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/EmbeddedServletOptions.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -468,12 +469,6 @@
         if (checkInterval != null) {
             try {
                 this.checkInterval = Integer.parseInt(checkInterval);
-                if (this.checkInterval == 0) {
-                    this.checkInterval = 300;
-                    if (log.isWarnEnabled()) {
-                        log.warn(Localizer.getMessage("jsp.warning.checkInterval"));
-                    }
-                }
             } catch(NumberFormatException ex) {
                 if (log.isWarnEnabled()) {
                     log.warn(Localizer.getMessage("jsp.warning.checkInterval"));

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/JasperException.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/JasperException.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/JasperException.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/JspC.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/JspC.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/JspC.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -89,12 +90,12 @@
  * @author Yoav Shapira
  */
 public class JspC implements Options {
-
+    /** The default Microsoft Internet Explorer class ID. */
     public static final String DEFAULT_IE_CLASS_ID =
             "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93";
 
-    // Logger
-    private static Log log = LogFactory.getLog(JspC.class);
+    /** Logger (set by constructor.) */
+    private Log log;
 
     private static final String SWITCH_VERBOSE = "-v";
     private static final String SWITCH_HELP = "-help";
@@ -254,6 +255,11 @@
         }
     }
 
+    /** Constructor. */
+    public JspC() {
+        log = LogFactory.getLog(getClass());
+    }
+
     public void setArgs(String[] arg) throws JasperException {
         args = arg;
         String tok;

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/JspCompilationContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/JspCompilationContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/JspCompilationContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/Options.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/Options.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/Options.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/AntCompiler.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/AntCompiler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/AntCompiler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/BeanRepository.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/BeanRepository.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/BeanRepository.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Collector.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Collector.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Collector.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Compiler.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Compiler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Compiler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/DefaultErrorHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/DefaultErrorHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/DefaultErrorHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -66,22 +67,22 @@
         StringBuffer buf = new StringBuffer();
         
         for (int i=0; i < details.length; i++) {
+            buf.append("\n");
             if (details[i].getJspBeginLineNumber() >= 0) {
                 args = new Object[] {
                         new Integer(details[i].getJspBeginLineNumber()), 
                         details[i].getJspFileName() };
+                buf.append("\n");
                 buf.append(Localizer.getMessage("jsp.error.single.line.number",
                         args));
                 buf.append("\n"); 
+                buf.append(details[i].getErrorMessage());
+                buf.append("\n"); 
+                buf.append(details[i].getJspExtract());
             }
-            
-            buf.append(
-                    Localizer.getMessage("jsp.error.corresponding.servlet"));
-            buf.append(details[i].getErrorMessage());
-            buf.append("\n\n");
         }
-        
-        throw new JasperException(Localizer.getMessage("jsp.error.unable.compile") + "\n\n" + buf);
+        buf.append("\n\nStacktrace:");
+        throw new JasperException(Localizer.getMessage("jsp.error.unable.compile") + ": " + buf);
     }
     
     /**

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Dumper.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Dumper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Dumper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ELFunctionMapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ELFunctionMapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ELFunctionMapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ELNode.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ELNode.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ELNode.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ELParser.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ELParser.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ELParser.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ErrorDispatcher.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ErrorDispatcher.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ErrorDispatcher.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -22,6 +23,7 @@
 import java.net.MalformedURLException;
 
 import org.apache.jasper.JasperException;
+import org.apache.jasper.JspCompilationContext;
 import org.xml.sax.SAXException;
 
 /**
@@ -500,8 +502,24 @@
      * @return JavacErrorDetail The error details
      * @throws JasperException
      */
-    public static JavacErrorDetail createJavacError(String fname, Node.Nodes page, 
+    public static JavacErrorDetail createJavacError(String fname,
+            Node.Nodes page, 
             StringBuffer errMsgBuf, int lineNum) throws JasperException {
+        return createJavacError(fname, page, errMsgBuf, lineNum, null);
+    }
+    /**
+     * @param fname
+     * @param page
+     * @param errMsgBuf
+     * @param lineNum
+     * @param ctxt
+     * @return JavacErrorDetail The error details
+     * @throws JasperException
+     */
+    public static JavacErrorDetail createJavacError(String fname,
+            Node.Nodes page, 
+            StringBuffer errMsgBuf, int lineNum, JspCompilationContext ctxt)
+    throws JasperException {
         JavacErrorDetail javacError;
         // Attempt to map javac error line number to line in JSP page
         ErrorVisitor errVisitor = new ErrorVisitor(lineNum);
@@ -513,7 +531,8 @@
                     lineNum,
                     errNode.getStart().getFile(),
                     errNode.getStart().getLineNumber(),
-                    errMsgBuf);
+                    errMsgBuf,
+                    ctxt);
         } else {
             /*
              * javac error line number cannot be mapped to JSP page

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ErrorHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ErrorHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ErrorHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Generator.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Generator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Generator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
@@ -268,7 +269,7 @@
                 if (hasEmptyBody) {
                     poolName = poolName + "_nobody";
                 }
-                return JspUtil.makeXmlJavaIdentifier(poolName);
+                return JspUtil.makeJavaIdentifier(poolName);
             }
         }
 
@@ -749,7 +750,7 @@
                 }
                 return v;
             } else if (attr.isELInterpreterInput()) {
-                boolean replaceESC = v.indexOf(Constants.ESC) > 0;
+                boolean replaceESC = v.indexOf(Constants.HACK_CHAR) > 0;
                 v =
                     JspUtil.interpreterCall(
                         this.isTagFile,
@@ -757,9 +758,9 @@
                         expectedType,
                         attr.getEL().getMapName(),
                         false);
-                // XXX ESC replacement hack
+                // XXX hack replacement
                 if (replaceESC) {
-                    v = "(" + v + ").replace(" + Constants.ESCStr + ", '$')";
+                    v = "(" + v + ").replace(" + Constants.HACK_STR + ", '$')";
                 }
                 if (encode) {
                     return "org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("
@@ -1360,10 +1361,10 @@
                     // Double check that this is now the correct behavior.
                     if (ie) {
                         // We want something of the form
-                        // out.println( "<PARAM name=\"blah\"
+                        // out.println( "<param name=\"blah\"
                         //     value=\"" + ... + "\">" );
                         out.printil(
-                            "out.write( \"<PARAM name=\\\""
+                            "out.write( \"<param name=\\\""
                                 + escape(name)
                                 + "\\\" value=\\\"\" + "
                                 + attributeValue(
@@ -1454,9 +1455,9 @@
             // dynamically.  Double-check if this generation is correct.
 
             // IE style plugin
-            // <OBJECT ...>
+            // <object ...>
             // First compose the runtime output string
-            String s0 = "<OBJECT"
+            String s0 = "<object"
                     + makeAttr("classid", ctxt.getOptions().getIeClassId())
                     + makeAttr("name", name);
 
@@ -1481,31 +1482,31 @@
                 "out.write(" + quote(s0) + s1 + s2 + " + " + quote(s3) + ");");
             out.printil("out.write(\"\\n\");");
 
-            // <PARAM > for java_code
-            s0 = "<PARAM name=\"java_code\"" + makeAttr("value", code) + '>';
+            // <param > for java_code
+            s0 = "<param name=\"java_code\"" + makeAttr("value", code) + '>';
             out.printil("out.write(" + quote(s0) + ");");
             out.printil("out.write(\"\\n\");");
 
-            // <PARAM > for java_codebase
+            // <param > for java_codebase
             if (codebase != null) {
-                s0 = "<PARAM name=\"java_codebase\""
+                s0 = "<param name=\"java_codebase\""
                         + makeAttr("value", codebase)
                         + '>';
                 out.printil("out.write(" + quote(s0) + ");");
                 out.printil("out.write(\"\\n\");");
             }
 
-            // <PARAM > for java_archive
+            // <param > for java_archive
             if (archive != null) {
-                s0 = "<PARAM name=\"java_archive\""
+                s0 = "<param name=\"java_archive\""
                         + makeAttr("value", archive)
                         + '>';
                 out.printil("out.write(" + quote(s0) + ");");
                 out.printil("out.write(\"\\n\");");
             }
 
-            // <PARAM > for type
-            s0 = "<PARAM name=\"type\""
+            // <param > for type
+            s0 = "<param name=\"type\""
                     + makeAttr(
                         "value",
                         "application/x-java-"
@@ -1519,7 +1520,7 @@
             out.printil("out.write(\"\\n\");");
 
             /*
-             * generate a <PARAM> for each <jsp:param> in the plugin body
+             * generate a <param> for each <jsp:param> in the plugin body
              */
             if (n.getBody() != null)
                 n.getBody().visit(new ParamVisitor(true));
@@ -1527,9 +1528,9 @@
             /*
              * Netscape style plugin part
              */
-            out.printil("out.write(" + quote("<COMMENT>") + ");");
+            out.printil("out.write(" + quote("<comment>") + ");");
             out.printil("out.write(\"\\n\");");
-            s0 = "<EMBED"
+            s0 = "<embed"
                     + makeAttr(
                         "type",
                         "application/x-java-"
@@ -1561,7 +1562,7 @@
             out.printil("out.write(" + quote("/>") + ");");
             out.printil("out.write(\"\\n\");");
 
-            out.printil("out.write(" + quote("<NOEMBED>") + ");");
+            out.printil("out.write(" + quote("<noembed>") + ");");
             out.printil("out.write(\"\\n\");");
 
             /*
@@ -1572,13 +1573,13 @@
                 out.printil("out.write(\"\\n\");");
             }
 
-            out.printil("out.write(" + quote("</NOEMBED>") + ");");
+            out.printil("out.write(" + quote("</noembed>") + ");");
             out.printil("out.write(\"\\n\");");
 
-            out.printil("out.write(" + quote("</COMMENT>") + ");");
+            out.printil("out.write(" + quote("</comment>") + ");");
             out.printil("out.write(\"\\n\");");
 
-            out.printil("out.write(" + quote("</OBJECT>") + ");");
+            out.printil("out.write(" + quote("</object>") + ");");
             out.printil("out.write(\"\\n\");");
 
             n.setEndJavaLine(out.getJavaLine());
@@ -1887,12 +1888,13 @@
             }
 
             // Replace marker for \$ sequence with correct sequence
-            if (text.indexOf(Constants.ESC) > 0) {
+            if (text.indexOf(Constants.HACK_CHAR) > 0) {
                 if (pageInfo.isELIgnored()) {
-                    text = text.replaceAll(String.valueOf(Constants.ESC), "\\\\\\$");
+                    text = text.replaceAll(String.valueOf(Constants.HACK_CHAR),
+                            "\\\\\\$");
                     textSize++;
                 } else {
-                    text = text.replace(Constants.ESC, '$');
+                    text = text.replace(Constants.HACK_CHAR, '$');
                 }
             }
 
@@ -2679,7 +2681,7 @@
                     varName = varName + "0";
                 }
             }
-            return JspUtil.makeXmlJavaIdentifier(varName);
+            return JspUtil.makeJavaIdentifier(varName);
         }
 
         private String evaluateAttribute(
@@ -2741,7 +2743,7 @@
                 }
             } else if (attr.isELInterpreterInput()) {
                 // run attrValue through the expression interpreter
-                boolean replaceESC = attrValue.indexOf(Constants.ESC) > 0;
+                boolean replaceESC = attrValue.indexOf(Constants.HACK_CHAR) > 0;
                 attrValue =
                     JspUtil.interpreterCall(
                         this.isTagFile,
@@ -2755,7 +2757,7 @@
                         "("
                             + attrValue
                             + ").replace("
-                            + Constants.ESCStr
+                            + Constants.HACK_STR
                             + ", '$')";
                 }
             } else {

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JDTCompiler.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JDTCompiler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JDTCompiler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -98,11 +99,13 @@
             
             public char[] getContents() {
                 char[] result = null;
+                Reader reader = null ;
+                InputStreamReader isReader = null ;
                 try {
-                    InputStreamReader isReader =
+                    isReader =
                         new InputStreamReader(new FileInputStream(sourceFile),
                                 ctxt.getOptions().getJavaEncoding());
-                    Reader reader = new BufferedReader(isReader);
+                    reader = new BufferedReader(isReader);
                     if (reader != null) {
                         char[] chars = new char[8192];
                         StringBuffer buf = new StringBuffer();
@@ -116,6 +119,13 @@
                     }
                 } catch (IOException e) {
                     log.error("Compilation error", e);
+                } finally {           
+                    if(isReader != null)
+                        try { isReader.close() ; }
+                        catch (IOException ignore) {}
+                    if(reader != null)
+                        try { reader.close() ; }
+                        catch (IOException ignore) {}
                 }
                 return result;
             }
@@ -339,55 +349,66 @@
             new DefaultProblemFactory(Locale.getDefault());
         
         final ICompilerRequestor requestor = new ICompilerRequestor() {
-                public void acceptResult(CompilationResult result) {
-                    try {
-                        if (result.hasProblems()) {
-                            IProblem[] problems = result.getProblems();
-                            for (int i = 0; i < problems.length; i++) {
-                                IProblem problem = problems[i];
-                                if (problem.isError()) {
-                                    String name = 
-                                        new String(problems[i].getOriginatingFileName());
-                                    try {
-                                        problemList.add(ErrorDispatcher.createJavacError
-                                                (name, pageNodes, new StringBuffer(problem.getMessage()), 
-                                                        problem.getSourceLineNumber()));
-                                    } catch (JasperException e) {
-                                        log.error("Error visiting node", e);
-                                    }
-                                }
+            public void acceptResult(CompilationResult result) {
+                if (result.hasProblems()) {
+                    IProblem[] problems = result.getProblems();
+                    for (int i = 0; i < problems.length; i++) {
+                        IProblem problem = problems[i];
+                        if (problem.isError()) {
+                            String name = new String(problems[i]
+                                    .getOriginatingFileName());
+                            try {
+                                problemList.add(ErrorDispatcher
+                                        .createJavacError(name, pageNodes,
+                                                new StringBuffer(problem
+                                                        .getMessage()), problem
+                                                        .getSourceLineNumber(),
+                                                ctxt));
+                            } catch (JasperException e) {
+                                log.error("Error visiting node", e);
                             }
                         }
-                        if (problemList.isEmpty()) {
-                            ClassFile[] classFiles = result.getClassFiles();
-                            for (int i = 0; i < classFiles.length; i++) {
-                                ClassFile classFile = classFiles[i];
-                                char[][] compoundName = 
-                                    classFile.getCompoundName();
-                                String className = "";
-                                String sep = "";
-                                for (int j = 0; 
-                                     j < compoundName.length; j++) {
-                                    className += sep;
-                                    className += new String(compoundName[j]);
-                                    sep = ".";
+                    }
+                }
+                if (problemList.isEmpty()) {
+                    ClassFile[] classFiles = result.getClassFiles();
+                    for (int i = 0; i < classFiles.length; i++) {
+                        ClassFile classFile = classFiles[i];
+                        char[][] compoundName = classFile.getCompoundName();
+                        String className = "";
+                        String sep = "";
+                        for (int j = 0; j < compoundName.length; j++) {
+                            className += sep;
+                            className += new String(compoundName[j]);
+                            sep = ".";
+                        }
+                        byte[] bytes = classFile.getBytes();
+                        String outFile = outputDir + "/"
+                                + className.replace('.', '/') + ".class";
+                        FileOutputStream fout = null;
+                        BufferedOutputStream bos = null;
+                        try {
+                            fout = new FileOutputStream(outFile);
+                            bos = new BufferedOutputStream(fout);
+                            bos.write(bytes);
+                        } catch (IOException ioe) {
+                            log.error("Compilation error", ioe);
+                        } finally {
+                            if (bos != null)
+                                try {
+                                    bos.close();
+                                } catch (IOException ignore) {
                                 }
-                                byte[] bytes = classFile.getBytes();
-                                String outFile = outputDir + "/" + 
-                                    className.replace('.', '/') + ".class";
-                                FileOutputStream fout = 
-                                    new FileOutputStream(outFile);
-                                BufferedOutputStream bos = 
-                                    new BufferedOutputStream(fout);
-                                bos.write(bytes);
-                                bos.close();
-                            }
-                        }
-                    } catch (IOException exc) {
-                        log.error("Compilation error", exc);
+                            if (fout != null)
+                                try {
+                                    fout.close();
+                                } catch (IOException ignore) {
+                                }
+                       }
                     }
                 }
-            };
+            }
+        };
 
         ICompilationUnit[] compilationUnits = 
             new ICompilationUnit[classNames.length];

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JasperTagInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JasperTagInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JasperTagInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JavacErrorDetail.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JavacErrorDetail.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JavacErrorDetail.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -16,6 +17,16 @@
 
 package org.apache.jasper.compiler;
 
+import java.io.BufferedReader;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.jasper.JspCompilationContext;
+
 /**
  * Class providing details about a javac compilation error.
  *
@@ -29,6 +40,7 @@
     private String jspFileName;
     private int jspBeginLineNum;
     private StringBuffer errMsg;
+    private String jspExtract = null;
 
     /**
      * Constructor.
@@ -39,12 +51,12 @@
      * @param errMsg The compilation error message
      */
     public JavacErrorDetail(String javaFileName,
-			    int javaLineNum,
-			    StringBuffer errMsg) {
+                            int javaLineNum,
+                            StringBuffer errMsg) {
 
-	this.javaFileName = javaFileName;
-	this.javaLineNum = javaLineNum;
-	this.errMsg = errMsg;
+        this.javaFileName = javaFileName;
+        this.javaLineNum = javaLineNum;
+        this.errMsg = errMsg;
         this.jspBeginLineNum = -1;
     }
 
@@ -61,16 +73,70 @@
      * @param errMsg The compilation error message
      */
     public JavacErrorDetail(String javaFileName,
-			    int javaLineNum,
-			    String jspFileName,
-			    int jspBeginLineNum,
-			    StringBuffer errMsg) {
+                            int javaLineNum,
+                            String jspFileName,
+                            int jspBeginLineNum,
+                            StringBuffer errMsg) {
 
+        this(javaFileName, javaLineNum, jspFileName, jspBeginLineNum, errMsg,
+                null);
+    }
+
+    public JavacErrorDetail(String javaFileName,
+            int javaLineNum,
+            String jspFileName,
+            int jspBeginLineNum,
+            StringBuffer errMsg,
+            JspCompilationContext ctxt) {
         this(javaFileName, javaLineNum, errMsg);
-	this.jspFileName = jspFileName;
-	this.jspBeginLineNum = jspBeginLineNum;
+        this.jspFileName = jspFileName;
+        this.jspBeginLineNum = jspBeginLineNum;
+        
+        if (jspBeginLineNum > 0 && ctxt != null) {
+            try {
+                // Read both files in, so we can inspect them
+                String[] jspLines = readFile
+                    (ctxt.getResourceAsStream(jspFileName));
+    
+                String[] javaLines = readFile
+                    (new FileInputStream(ctxt.getServletJavaFileName()));
+    
+                // If the line contains the opening of a multi-line scriptlet
+                // block, then the JSP line number we got back is probably
+                // faulty.  Scan forward to match the java line...
+                if (jspLines[jspBeginLineNum-1].lastIndexOf("<%") >
+                    jspLines[jspBeginLineNum-1].lastIndexOf("%>")) {
+                    String javaLine = javaLines[javaLineNum-1].trim();
+    
+                    for (int i=jspBeginLineNum-1; i<jspLines.length; i++) {
+                        if (jspLines[i].indexOf(javaLine) != -1) {
+                            // Update jsp line number
+                            this.jspBeginLineNum = i+1;
+                            break;
+                        }
+                    }
+                }
+    
+                // copy out a fragment of JSP to display to the user
+                StringBuffer fragment = new StringBuffer(1024);
+                int startIndex = Math.max(0, this.jspBeginLineNum-1-3);
+                int endIndex = Math.min(
+                        jspLines.length-1, this.jspBeginLineNum-1+3);
+    
+                for (int i=startIndex;i<=endIndex; ++i) {
+                    fragment.append(i+1);
+                    fragment.append(": ");
+                    fragment.append(jspLines[i]);
+                    fragment.append("\n");
+                }
+                jspExtract = fragment.toString();
+    
+            } catch (IOException ioe) {
+                // Can't read files - ignore
+            }
+        }
+
     }
-
     /**
      * Gets the name of the Java source file in which the compilation error
      * occurred.
@@ -78,7 +144,7 @@
      * @return Java source file name
      */
     public String getJavaFileName() {
-	return this.javaFileName;
+        return this.javaFileName;
     }
 
     /**
@@ -87,7 +153,7 @@
      * @return Compilation error line number
      */
     public int getJavaLineNumber() {
-	return this.javaLineNum;
+        return this.javaLineNum;
     }
 
     /**
@@ -97,7 +163,7 @@
      * @return JSP file from which the Java source file was generated.
      */
     public String getJspFileName() {
-	return this.jspFileName;
+        return this.jspFileName;
     }
 
     /**
@@ -108,7 +174,7 @@
      * compilation error
      */
     public int getJspBeginLineNumber() {
-	return this.jspBeginLineNum;
+        return this.jspBeginLineNum;
     }
 
     /**
@@ -117,6 +183,31 @@
      * @return Compilation error message
      */
     public String getErrorMessage() {
-	return this.errMsg.toString();
+        return this.errMsg.toString();
     }
+    
+    /**
+     * Gets the extract of the JSP that corresponds to this message.
+     *
+     * @return Extract of JSP where error occurred
+     */
+    public String getJspExtract() {
+        return this.jspExtract;
+    }
+    
+    /**
+     * Reads a text file from an input stream into a String[]. Used to read in
+     * the JSP and generated Java file when generating error messages.
+     */
+    private String[] readFile(InputStream s) throws IOException {
+        BufferedReader reader = new BufferedReader(new InputStreamReader(s));
+        List lines = new ArrayList();
+        String line;
+
+        while ( (line = reader.readLine()) != null ) {
+            lines.add(line);
+        }
+
+        return (String[]) lines.toArray( new String[lines.size()] );
+    }
 }

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspDocumentParser.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspDocumentParser.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspDocumentParser.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspReader.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspReader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspReader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspRuntimeContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspRuntimeContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspRuntimeContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -53,7 +54,7 @@
  * Only used if a web application context is a directory.
  *
  * @author Glenn L. Nielsen
- * @version $Revision: 306189 $
+ * @version $Revision: 466606 $
  */
 public final class JspRuntimeContext implements Runnable {
 

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspUtil.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspUtil.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/JspUtil.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -186,7 +187,7 @@
             returnString = expression;
         }
 
-        return escapeXml(returnString.replace(Constants.ESC, '$'));
+        return escapeXml(returnString.replace(Constants.HACK_CHAR, '$'));
     }
 
     /**

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Localizer.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Localizer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Localizer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Mark.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Mark.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Mark.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Node.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Node.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Node.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/PageDataImpl.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/PageDataImpl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/PageDataImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -60,19 +61,19 @@
      * @param page the page nodes from which to generate the XML view
      */
     public PageDataImpl(Node.Nodes page, Compiler compiler)
-	        throws JasperException {
+                throws JasperException {
 
-	// First pass
-	FirstPassVisitor firstPass = new FirstPassVisitor(page.getRoot(),
-							  compiler.getPageInfo());
-	page.visit(firstPass);
+        // First pass
+        FirstPassVisitor firstPass = new FirstPassVisitor(page.getRoot(),
+                                                          compiler.getPageInfo());
+        page.visit(firstPass);
 
-	// Second pass
-	buf = new StringBuffer();
-	SecondPassVisitor secondPass
-	    = new SecondPassVisitor(page.getRoot(), buf, compiler,
-				    firstPass.getJspIdPrefix());
-	page.visit(secondPass);
+        // Second pass
+        buf = new StringBuffer();
+        SecondPassVisitor secondPass
+            = new SecondPassVisitor(page.getRoot(), buf, compiler,
+                                    firstPass.getJspIdPrefix());
+        page.visit(secondPass);
     }
 
     /**
@@ -81,11 +82,11 @@
      * @return the input stream of the XML view
      */
     public InputStream getInputStream() {
-	// Turn StringBuffer into InputStream
+        // Turn StringBuffer into InputStream
         try {
             return new ByteArrayInputStream(buf.toString().getBytes("UTF-8"));
         } catch (UnsupportedEncodingException uee) {
-	    // should never happen
+            // should never happen
             throw new RuntimeException(uee.toString());
         }
     }
@@ -101,115 +102,115 @@
      * attributes and adds them to the jsp:root element of the XML view.
      */
     static class FirstPassVisitor
-	        extends Node.Visitor implements TagConstants {
+                extends Node.Visitor implements TagConstants {
 
-	private Node.Root root;
-	private AttributesImpl rootAttrs;
-	private PageInfo pageInfo;
+        private Node.Root root;
+        private AttributesImpl rootAttrs;
+        private PageInfo pageInfo;
 
-	// Prefix for the 'id' attribute
-	private String jspIdPrefix;
+        // Prefix for the 'id' attribute
+        private String jspIdPrefix;
 
-	/*
-	 * Constructor
-	 */
-	public FirstPassVisitor(Node.Root root, PageInfo pageInfo) {
-	    this.root = root;
-	    this.pageInfo = pageInfo;
-	    this.rootAttrs = new AttributesImpl();
-	    this.rootAttrs.addAttribute("", "", "version", "CDATA",
-					JSP_VERSION);
-	    this.jspIdPrefix = "jsp";
-	}
+        /*
+         * Constructor
+         */
+        public FirstPassVisitor(Node.Root root, PageInfo pageInfo) {
+            this.root = root;
+            this.pageInfo = pageInfo;
+            this.rootAttrs = new AttributesImpl();
+            this.rootAttrs.addAttribute("", "", "version", "CDATA",
+                                        JSP_VERSION);
+            this.jspIdPrefix = "jsp";
+        }
 
-	public void visit(Node.Root n) throws JasperException {
-	    visitBody(n);
-	    if (n == root) {
-		/*
-		 * Top-level page.
-		 *
-		 * Add
-		 *   xmlns:jsp="http://java.sun.com/JSP/Page"
-		 * attribute only if not already present.
-		 */
-		if (!JSP_URI.equals(rootAttrs.getValue("xmlns:jsp"))) {
-		    rootAttrs.addAttribute("", "", "xmlns:jsp", "CDATA",
-					   JSP_URI);
-		}
+        public void visit(Node.Root n) throws JasperException {
+            visitBody(n);
+            if (n == root) {
+                /*
+                 * Top-level page.
+                 *
+                 * Add
+                 *   xmlns:jsp="http://java.sun.com/JSP/Page"
+                 * attribute only if not already present.
+                 */
+                if (!JSP_URI.equals(rootAttrs.getValue("xmlns:jsp"))) {
+                    rootAttrs.addAttribute("", "", "xmlns:jsp", "CDATA",
+                                           JSP_URI);
+                }
 
-		if (pageInfo.isJspPrefixHijacked()) {
-		    /*
-		     * 'jsp' prefix has been hijacked, that is, bound to a
-		     * namespace other than the JSP namespace. This means that
-		     * when adding an 'id' attribute to each element, we can't
-		     * use the 'jsp' prefix. Therefore, create a new prefix 
-		     * (one that is unique across the translation unit) for use
-		     * by the 'id' attribute, and bind it to the JSP namespace
-		     */
-		    jspIdPrefix += "jsp";
-		    while (pageInfo.containsPrefix(jspIdPrefix)) {
-			jspIdPrefix += "jsp";
-		    }
-		    rootAttrs.addAttribute("", "", "xmlns:" + jspIdPrefix,
-					   "CDATA", JSP_URI);
-		}
+                if (pageInfo.isJspPrefixHijacked()) {
+                    /*
+                     * 'jsp' prefix has been hijacked, that is, bound to a
+                     * namespace other than the JSP namespace. This means that
+                     * when adding an 'id' attribute to each element, we can't
+                     * use the 'jsp' prefix. Therefore, create a new prefix 
+                     * (one that is unique across the translation unit) for use
+                     * by the 'id' attribute, and bind it to the JSP namespace
+                     */
+                    jspIdPrefix += "jsp";
+                    while (pageInfo.containsPrefix(jspIdPrefix)) {
+                        jspIdPrefix += "jsp";
+                    }
+                    rootAttrs.addAttribute("", "", "xmlns:" + jspIdPrefix,
+                                           "CDATA", JSP_URI);
+                }
 
-		root.setAttributes(rootAttrs);
-	    }
-	}
+                root.setAttributes(rootAttrs);
+            }
+        }
 
-	public void visit(Node.JspRoot n) throws JasperException {
-	    addAttributes(n.getTaglibAttributes());
+        public void visit(Node.JspRoot n) throws JasperException {
+            addAttributes(n.getTaglibAttributes());
             addAttributes(n.getNonTaglibXmlnsAttributes());
-	    addAttributes(n.getAttributes());
+            addAttributes(n.getAttributes());
 
-	    visitBody(n);
-	}
+            visitBody(n);
+        }
 
-	/*
-	 * Converts taglib directive into "xmlns:..." attribute of jsp:root
-	 * element.
-	 */
-	public void visit(Node.TaglibDirective n) throws JasperException {
-	    Attributes attrs = n.getAttributes();
-	    if (attrs != null) {
-		String qName = "xmlns:" + attrs.getValue("prefix");
-		/*
-		 * According to javadocs of org.xml.sax.helpers.AttributesImpl,
-		 * the addAttribute method does not check to see if the
-		 * specified attribute is already contained in the list: This
-		 * is the application's responsibility!
-		 */
-		if (rootAttrs.getIndex(qName) == -1) {
-		    String location = attrs.getValue("uri");
-		    if (location != null) {
+        /*
+         * Converts taglib directive into "xmlns:..." attribute of jsp:root
+         * element.
+         */
+        public void visit(Node.TaglibDirective n) throws JasperException {
+            Attributes attrs = n.getAttributes();
+            if (attrs != null) {
+                String qName = "xmlns:" + attrs.getValue("prefix");
+                /*
+                 * According to javadocs of org.xml.sax.helpers.AttributesImpl,
+                 * the addAttribute method does not check to see if the
+                 * specified attribute is already contained in the list: This
+                 * is the application's responsibility!
+                 */
+                if (rootAttrs.getIndex(qName) == -1) {
+                    String location = attrs.getValue("uri");
+                    if (location != null) {
                         if (location.startsWith("/")) {
                             location = URN_JSPTLD + location;
                         }
-			rootAttrs.addAttribute("", "", qName, "CDATA",
-					       location);
-		    } else {
-			location = attrs.getValue("tagdir");
-			rootAttrs.addAttribute("", "", qName, "CDATA",
-					       URN_JSPTAGDIR + location);
-		    }
-		}
-	    }
-	}
+                        rootAttrs.addAttribute("", "", qName, "CDATA",
+                                               location);
+                    } else {
+                        location = attrs.getValue("tagdir");
+                        rootAttrs.addAttribute("", "", qName, "CDATA",
+                                               URN_JSPTAGDIR + location);
+                    }
+                }
+            }
+        }
 
-	public String getJspIdPrefix() {
-	    return jspIdPrefix;
-	}
+        public String getJspIdPrefix() {
+            return jspIdPrefix;
+        }
 
-	private void addAttributes(Attributes attrs) {
-	    if (attrs != null) {
-		int len = attrs.getLength();
+        private void addAttributes(Attributes attrs) {
+            if (attrs != null) {
+                int len = attrs.getLength();
 
-		for (int i=0; i<len; i++) {
+                for (int i=0; i<len; i++) {
                     String qName = attrs.getQName(i);
-		    if ("version".equals(qName)) {
-			continue;
-		    }
+                    if ("version".equals(qName)) {
+                        continue;
+                    }
 
                     // Bugzilla 35252: http://issues.apache.org/bugzilla/show_bug.cgi?id=35252
                     if(rootAttrs.getIndex(qName) == -1) {
@@ -219,9 +220,9 @@
                                                attrs.getType(i),
                                                attrs.getValue(i));
                     }
-		}
-	    }
-	}
+                }
+            }
+        }
     }
 
 
@@ -230,137 +231,137 @@
      * each element a unique jsp:id attribute.
      */
     static class SecondPassVisitor extends Node.Visitor
-        	implements TagConstants {
+                implements TagConstants {
 
-	private Node.Root root;
-	private StringBuffer buf;
-	private Compiler compiler;
-	private String jspIdPrefix;
-	private boolean resetDefaultNS = false;
+        private Node.Root root;
+        private StringBuffer buf;
+        private Compiler compiler;
+        private String jspIdPrefix;
+        private boolean resetDefaultNS = false;
 
-	// Current value of jsp:id attribute
-	private int jspId;
+        // Current value of jsp:id attribute
+        private int jspId;
 
-	/*
-	 * Constructor
-	 */
-	public SecondPassVisitor(Node.Root root, StringBuffer buf,
-				 Compiler compiler, String jspIdPrefix) {
-	    this.root = root;
-	    this.buf = buf;
-	    this.compiler = compiler;
-	    this.jspIdPrefix = jspIdPrefix;
-	}
+        /*
+         * Constructor
+         */
+        public SecondPassVisitor(Node.Root root, StringBuffer buf,
+                                 Compiler compiler, String jspIdPrefix) {
+            this.root = root;
+            this.buf = buf;
+            this.compiler = compiler;
+            this.jspIdPrefix = jspIdPrefix;
+        }
 
-	/*
-	 * Visits root node.
-	 */
-	public void visit(Node.Root n) throws JasperException {
-	    if (n == this.root) {
-		// top-level page
-		appendXmlProlog();
-		appendTag(n);
-	    } else {
-		boolean resetDefaultNSSave = resetDefaultNS;
-		if (n.isXmlSyntax()) {
-		    resetDefaultNS = true;
-		}
-		visitBody(n);
-		resetDefaultNS = resetDefaultNSSave;
-	    }
-	}
+        /*
+         * Visits root node.
+         */
+        public void visit(Node.Root n) throws JasperException {
+            if (n == this.root) {
+                // top-level page
+                appendXmlProlog();
+                appendTag(n);
+            } else {
+                boolean resetDefaultNSSave = resetDefaultNS;
+                if (n.isXmlSyntax()) {
+                    resetDefaultNS = true;
+                }
+                visitBody(n);
+                resetDefaultNS = resetDefaultNSSave;
+            }
+        }
 
-	/*
-	 * Visits jsp:root element of JSP page in XML syntax.
-	 *
-	 * Any nested jsp:root elements (from pages included via an
-	 * include directive) are ignored.
-	 */
-	public void visit(Node.JspRoot n) throws JasperException {
-	    visitBody(n);
-	}
+        /*
+         * Visits jsp:root element of JSP page in XML syntax.
+         *
+         * Any nested jsp:root elements (from pages included via an
+         * include directive) are ignored.
+         */
+        public void visit(Node.JspRoot n) throws JasperException {
+            visitBody(n);
+        }
 
-	public void visit(Node.PageDirective n) throws JasperException {
-	    appendPageDirective(n);
-	}
+        public void visit(Node.PageDirective n) throws JasperException {
+            appendPageDirective(n);
+        }
 
-	public void visit(Node.IncludeDirective n) throws JasperException {
-	    // expand in place
-	    visitBody(n);
-	}
+        public void visit(Node.IncludeDirective n) throws JasperException {
+            // expand in place
+            visitBody(n);
+        }
 
-	public void visit(Node.Comment n) throws JasperException {
-	    // Comments are ignored in XML view
-	}
+        public void visit(Node.Comment n) throws JasperException {
+            // Comments are ignored in XML view
+        }
 
-	public void visit(Node.Declaration n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.Declaration n) throws JasperException {
+            appendTag(n);
+        }
 
-	public void visit(Node.Expression n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.Expression n) throws JasperException {
+            appendTag(n);
+        }
 
-	public void visit(Node.Scriptlet n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.Scriptlet n) throws JasperException {
+            appendTag(n);
+        }
 
-	public void visit(Node.JspElement n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.JspElement n) throws JasperException {
+            appendTag(n);
+        }
 
-	public void visit(Node.ELExpression n) throws JasperException {
-	    if (!n.getRoot().isXmlSyntax()) {
-		buf.append("<").append(JSP_TEXT_ACTION);
-		buf.append(" ");
-	        buf.append(jspIdPrefix);
-		buf.append(":id=\"");
-		buf.append(jspId++).append("\">");
-	    }
-	    buf.append("${");
+        public void visit(Node.ELExpression n) throws JasperException {
+            if (!n.getRoot().isXmlSyntax()) {
+                buf.append("<").append(JSP_TEXT_ACTION);
+                buf.append(" ");
+                buf.append(jspIdPrefix);
+                buf.append(":id=\"");
+                buf.append(jspId++).append("\">");
+            }
+            buf.append("${");
             buf.append(JspUtil.escapeXml(n.getText()));
-	    buf.append("}");
-	    if (!n.getRoot().isXmlSyntax()) {
-		buf.append(JSP_TEXT_ACTION_END);
-	    }
-	    buf.append("\n");
-	}
+            buf.append("}");
+            if (!n.getRoot().isXmlSyntax()) {
+                buf.append(JSP_TEXT_ACTION_END);
+            }
+            buf.append("\n");
+        }
 
-	public void visit(Node.IncludeAction n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.IncludeAction n) throws JasperException {
+            appendTag(n);
+        }
     
-	public void visit(Node.ForwardAction n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.ForwardAction n) throws JasperException {
+            appendTag(n);
+        }
 
-	public void visit(Node.GetProperty n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.GetProperty n) throws JasperException {
+            appendTag(n);
+        }
 
-	public void visit(Node.SetProperty n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.SetProperty n) throws JasperException {
+            appendTag(n);
+        }
 
-	public void visit(Node.ParamAction n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.ParamAction n) throws JasperException {
+            appendTag(n);
+        }
 
-	public void visit(Node.ParamsAction n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.ParamsAction n) throws JasperException {
+            appendTag(n);
+        }
 
-	public void visit(Node.FallBackAction n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.FallBackAction n) throws JasperException {
+            appendTag(n);
+        }
 
-	public void visit(Node.UseBean n) throws JasperException {
-	    appendTag(n);
-	}
-	
-	public void visit(Node.PlugIn n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.UseBean n) throws JasperException {
+            appendTag(n);
+        }
+        
+        public void visit(Node.PlugIn n) throws JasperException {
+            appendTag(n);
+        }
 
         public void visit(Node.NamedAttribute n) throws JasperException {
             appendTag(n);
@@ -370,341 +371,341 @@
             appendTag(n);
         }
 
-	public void visit(Node.CustomTag n) throws JasperException {
-	    boolean resetDefaultNSSave = resetDefaultNS;
-	    appendTag(n, resetDefaultNS);
-	    resetDefaultNS = resetDefaultNSSave;
-	}
+        public void visit(Node.CustomTag n) throws JasperException {
+            boolean resetDefaultNSSave = resetDefaultNS;
+            appendTag(n, resetDefaultNS);
+            resetDefaultNS = resetDefaultNSSave;
+        }
 
-	public void visit(Node.UninterpretedTag n) throws JasperException {
-	    boolean resetDefaultNSSave = resetDefaultNS;
-	    appendTag(n, resetDefaultNS);
-	    resetDefaultNS = resetDefaultNSSave;
-	}
+        public void visit(Node.UninterpretedTag n) throws JasperException {
+            boolean resetDefaultNSSave = resetDefaultNS;
+            appendTag(n, resetDefaultNS);
+            resetDefaultNS = resetDefaultNSSave;
+        }
 
-	public void visit(Node.JspText n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.JspText n) throws JasperException {
+            appendTag(n);
+        }
 
-	public void visit(Node.DoBodyAction n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.DoBodyAction n) throws JasperException {
+            appendTag(n);
+        }
 
         public void visit(Node.InvokeAction n) throws JasperException {
-	    appendTag(n);
-	}
+            appendTag(n);
+        }
 
-	public void visit(Node.TagDirective n) throws JasperException {
-	    appendTagDirective(n);
-	}
+        public void visit(Node.TagDirective n) throws JasperException {
+            appendTagDirective(n);
+        }
 
-	public void visit(Node.AttributeDirective n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.AttributeDirective n) throws JasperException {
+            appendTag(n);
+        }
 
-	public void visit(Node.VariableDirective n) throws JasperException {
-	    appendTag(n);
-	}
+        public void visit(Node.VariableDirective n) throws JasperException {
+            appendTag(n);
+        }
         
-	public void visit(Node.TemplateText n) throws JasperException {
-	    /*
-	     * If the template text came from a JSP page written in JSP syntax,
-	     * create a jsp:text element for it (JSP 5.3.2).
-	     */
-	    appendText(n.getText(), !n.getRoot().isXmlSyntax());
-	}
+        public void visit(Node.TemplateText n) throws JasperException {
+            /*
+             * If the template text came from a JSP page written in JSP syntax,
+             * create a jsp:text element for it (JSP 5.3.2).
+             */
+            appendText(n.getText(), !n.getRoot().isXmlSyntax());
+        }
 
-	/*
-	 * Appends the given tag, including its body, to the XML view.
-	 */
-	private void appendTag(Node n) throws JasperException {
-	    appendTag(n, false);
-	}
+        /*
+         * Appends the given tag, including its body, to the XML view.
+         */
+        private void appendTag(Node n) throws JasperException {
+            appendTag(n, false);
+        }
 
-	/*
-	 * Appends the given tag, including its body, to the XML view,
-	 * and optionally reset default namespace to "", if none specified.
-	 */
-	private void appendTag(Node n, boolean addDefaultNS)
-		throws JasperException {
+        /*
+         * Appends the given tag, including its body, to the XML view,
+         * and optionally reset default namespace to "", if none specified.
+         */
+        private void appendTag(Node n, boolean addDefaultNS)
+                throws JasperException {
 
-	    Node.Nodes body = n.getBody();
-	    String text = n.getText();
+            Node.Nodes body = n.getBody();
+            String text = n.getText();
 
-	    buf.append("<").append(n.getQName());
-	    buf.append("\n");
+            buf.append("<").append(n.getQName());
+            buf.append("\n");
 
-	    printAttributes(n, addDefaultNS);
-	    buf.append("  ").append(jspIdPrefix).append(":id").append("=\"");
-	    buf.append(jspId++).append("\"\n");
+            printAttributes(n, addDefaultNS);
+            buf.append("  ").append(jspIdPrefix).append(":id").append("=\"");
+            buf.append(jspId++).append("\"\n");
 
-	    if (ROOT_ACTION.equals(n.getLocalName()) || body != null
-		        || text != null) {
-		buf.append(">\n");
-		if (ROOT_ACTION.equals(n.getLocalName())) {
-		    if (compiler.getCompilationContext().isTagFile()) {
-			appendTagDirective();
-		    } else {
-			appendPageDirective();
-		    }
-		}
-		if (body != null) {
-		    body.visit(this);
-		} else {
-		    appendText(text, false);
-		}
-		buf.append("</" + n.getQName() + ">\n");
-	    } else {
-		buf.append("/>\n");
-	    }
-	}
+            if (ROOT_ACTION.equals(n.getLocalName()) || body != null
+                        || text != null) {
+                buf.append(">\n");
+                if (ROOT_ACTION.equals(n.getLocalName())) {
+                    if (compiler.getCompilationContext().isTagFile()) {
+                        appendTagDirective();
+                    } else {
+                        appendPageDirective();
+                    }
+                }
+                if (body != null) {
+                    body.visit(this);
+                } else {
+                    appendText(text, false);
+                }
+                buf.append("</" + n.getQName() + ">\n");
+            } else {
+                buf.append("/>\n");
+            }
+        }
 
-	/*
-	 * Appends the page directive with the given attributes to the XML
-	 * view.
-	 *
-	 * Since the import attribute of the page directive is the only page
-	 * attribute that is allowed to appear multiple times within the same
-	 * document, and since XML allows only single-value attributes,
-	 * the values of multiple import attributes must be combined into one,
-	 * separated by comma.
-	 *
-	 * If the given page directive contains just 'contentType' and/or
-	 * 'pageEncoding' attributes, we ignore it, as we've already appended
-	 * a page directive containing just these two attributes.
-	 */
-	private void appendPageDirective(Node.PageDirective n) {
-	    boolean append = false;
-	    Attributes attrs = n.getAttributes();
-	    int len = (attrs == null) ? 0 : attrs.getLength();
-	    for (int i=0; i<len; i++) {
-		String attrName = attrs.getQName(i);
-		if (!"pageEncoding".equals(attrName)
-		        && !"contentType".equals(attrName)) {
-		    append = true;
-		    break;
-		}
-	    }
-	    if (!append) {
-		return;
-	    }
+        /*
+         * Appends the page directive with the given attributes to the XML
+         * view.
+         *
+         * Since the import attribute of the page directive is the only page
+         * attribute that is allowed to appear multiple times within the same
+         * document, and since XML allows only single-value attributes,
+         * the values of multiple import attributes must be combined into one,
+         * separated by comma.
+         *
+         * If the given page directive contains just 'contentType' and/or
+         * 'pageEncoding' attributes, we ignore it, as we've already appended
+         * a page directive containing just these two attributes.
+         */
+        private void appendPageDirective(Node.PageDirective n) {
+            boolean append = false;
+            Attributes attrs = n.getAttributes();
+            int len = (attrs == null) ? 0 : attrs.getLength();
+            for (int i=0; i<len; i++) {
+                String attrName = attrs.getQName(i);
+                if (!"pageEncoding".equals(attrName)
+                        && !"contentType".equals(attrName)) {
+                    append = true;
+                    break;
+                }
+            }
+            if (!append) {
+                return;
+            }
 
-	    buf.append("<").append(n.getQName());
-	    buf.append("\n");
+            buf.append("<").append(n.getQName());
+            buf.append("\n");
 
-	    // append jsp:id
-	    buf.append("  ").append(jspIdPrefix).append(":id").append("=\"");
-	    buf.append(jspId++).append("\"\n");
+            // append jsp:id
+            buf.append("  ").append(jspIdPrefix).append(":id").append("=\"");
+            buf.append(jspId++).append("\"\n");
 
-	    // append remaining attributes
-	    for (int i=0; i<len; i++) {
-		String attrName = attrs.getQName(i);
-		if ("import".equals(attrName) || "contentType".equals(attrName)
-		        || "pageEncoding".equals(attrName)) {
-		    /*
-		     * Page directive's 'import' attribute is considered
-		     * further down, and its 'pageEncoding' and 'contentType'
-		     * attributes are ignored, since we've already appended
-		     * a new page directive containing just these two
-		     * attributes
-		     */
-		    continue;
-		}
-		String value = attrs.getValue(i);
-		buf.append("  ").append(attrName).append("=\"");
-		buf.append(JspUtil.getExprInXml(value)).append("\"\n");
-	    }
-	    if (n.getImports().size() > 0) {
-		// Concatenate names of imported classes/packages
-		boolean first = true;
-		ListIterator iter = n.getImports().listIterator();
-		while (iter.hasNext()) {
-		    if (first) {
-			first = false;
-			buf.append("  import=\"");
-		    } else {
-			buf.append(",");
-		    }
-		    buf.append(JspUtil.getExprInXml((String) iter.next()));
-		}
-		buf.append("\"\n");
-	    }
-	    buf.append("/>\n");
-	}
+            // append remaining attributes
+            for (int i=0; i<len; i++) {
+                String attrName = attrs.getQName(i);
+                if ("import".equals(attrName) || "contentType".equals(attrName)
+                        || "pageEncoding".equals(attrName)) {
+                    /*
+                     * Page directive's 'import' attribute is considered
+                     * further down, and its 'pageEncoding' and 'contentType'
+                     * attributes are ignored, since we've already appended
+                     * a new page directive containing just these two
+                     * attributes
+                     */
+                    continue;
+                }
+                String value = attrs.getValue(i);
+                buf.append("  ").append(attrName).append("=\"");
+                buf.append(JspUtil.getExprInXml(value)).append("\"\n");
+            }
+            if (n.getImports().size() > 0) {
+                // Concatenate names of imported classes/packages
+                boolean first = true;
+                ListIterator iter = n.getImports().listIterator();
+                while (iter.hasNext()) {
+                    if (first) {
+                        first = false;
+                        buf.append("  import=\"");
+                    } else {
+                        buf.append(",");
+                    }
+                    buf.append(JspUtil.getExprInXml((String) iter.next()));
+                }
+                buf.append("\"\n");
+            }
+            buf.append("/>\n");
+        }
 
-	/*
-	 * Appends a page directive with 'pageEncoding' and 'contentType'
-	 * attributes.
-	 *
-	 * The value of the 'pageEncoding' attribute is hard-coded
-	 * to UTF-8, whereas the value of the 'contentType' attribute, which
-	 * is identical to what the container will pass to
-	 * ServletResponse.setContentType(), is derived from the pageInfo.
-	 */
-	private void appendPageDirective() {
-	    buf.append("<").append(JSP_PAGE_DIRECTIVE_ACTION);
-	    buf.append("\n");
+        /*
+         * Appends a page directive with 'pageEncoding' and 'contentType'
+         * attributes.
+         *
+         * The value of the 'pageEncoding' attribute is hard-coded
+         * to UTF-8, whereas the value of the 'contentType' attribute, which
+         * is identical to what the container will pass to
+         * ServletResponse.setContentType(), is derived from the pageInfo.
+         */
+        private void appendPageDirective() {
+            buf.append("<").append(JSP_PAGE_DIRECTIVE_ACTION);
+            buf.append("\n");
 
-	    // append jsp:id
-	    buf.append("  ").append(jspIdPrefix).append(":id").append("=\"");
-	    buf.append(jspId++).append("\"\n");
-	    buf.append("  ").append("pageEncoding").append("=\"UTF-8\"\n");
-	    buf.append("  ").append("contentType").append("=\"");
-	    buf.append(compiler.getPageInfo().getContentType()).append("\"\n");
-	    buf.append("/>\n");	    
-	}
+            // append jsp:id
+            buf.append("  ").append(jspIdPrefix).append(":id").append("=\"");
+            buf.append(jspId++).append("\"\n");
+            buf.append("  ").append("pageEncoding").append("=\"UTF-8\"\n");
+            buf.append("  ").append("contentType").append("=\"");
+            buf.append(compiler.getPageInfo().getContentType()).append("\"\n");
+            buf.append("/>\n");            
+        }
 
-	/*
-	 * Appends the tag directive with the given attributes to the XML
-	 * view.
-	 *
-	 * If the given tag directive contains just a 'pageEncoding'
-	 * attributes, we ignore it, as we've already appended
-	 * a tag directive containing just this attributes.
-	 */
-	private void appendTagDirective(Node.TagDirective n)
-	        throws JasperException {
+        /*
+         * Appends the tag directive with the given attributes to the XML
+         * view.
+         *
+         * If the given tag directive contains just a 'pageEncoding'
+         * attributes, we ignore it, as we've already appended
+         * a tag directive containing just this attributes.
+         */
+        private void appendTagDirective(Node.TagDirective n)
+                throws JasperException {
 
-	    boolean append = false;
-	    Attributes attrs = n.getAttributes();
-	    int len = (attrs == null) ? 0 : attrs.getLength();
-	    for (int i=0; i<len; i++) {
-		String attrName = attrs.getQName(i);
-		if (!"pageEncoding".equals(attrName)) {
-		    append = true;
-		    break;
-		}
-	    }
-	    if (!append) {
-		return;
-	    }
+            boolean append = false;
+            Attributes attrs = n.getAttributes();
+            int len = (attrs == null) ? 0 : attrs.getLength();
+            for (int i=0; i<len; i++) {
+                String attrName = attrs.getQName(i);
+                if (!"pageEncoding".equals(attrName)) {
+                    append = true;
+                    break;
+                }
+            }
+            if (!append) {
+                return;
+            }
 
-	    appendTag(n);
-	}
+            appendTag(n);
+        }
 
-	/*
-	 * Appends a tag directive containing a single 'pageEncoding'
-	 * attribute whose value is hard-coded to UTF-8.
-	 */
-	private void appendTagDirective() {
-	    buf.append("<").append(JSP_TAG_DIRECTIVE_ACTION);
-	    buf.append("\n");
+        /*
+         * Appends a tag directive containing a single 'pageEncoding'
+         * attribute whose value is hard-coded to UTF-8.
+         */
+        private void appendTagDirective() {
+            buf.append("<").append(JSP_TAG_DIRECTIVE_ACTION);
+            buf.append("\n");
 
-	    // append jsp:id
-	    buf.append("  ").append(jspIdPrefix).append(":id").append("=\"");
-	    buf.append(jspId++).append("\"\n");
-	    buf.append("  ").append("pageEncoding").append("=\"UTF-8\"\n");
-	    buf.append("/>\n");	    
-	}
+            // append jsp:id
+            buf.append("  ").append(jspIdPrefix).append(":id").append("=\"");
+            buf.append(jspId++).append("\"\n");
+            buf.append("  ").append("pageEncoding").append("=\"UTF-8\"\n");
+            buf.append("/>\n");            
+        }
 
-	private void appendText(String text, boolean createJspTextElement) {
-	    if (createJspTextElement) {
-		buf.append("<").append(JSP_TEXT_ACTION);
-		buf.append("\n");
+        private void appendText(String text, boolean createJspTextElement) {
+            if (createJspTextElement) {
+                buf.append("<").append(JSP_TEXT_ACTION);
+                buf.append("\n");
 
-		// append jsp:id
-		buf.append("  ").append(jspIdPrefix).append(":id").append("=\"");
-		buf.append(jspId++).append("\"\n");
-		buf.append(">\n");
+                // append jsp:id
+                buf.append("  ").append(jspIdPrefix).append(":id").append("=\"");
+                buf.append(jspId++).append("\"\n");
+                buf.append(">\n");
 
-		appendCDATA(text);
-		buf.append(JSP_TEXT_ACTION_END);
-		buf.append("\n");
-	    } else {
-		appendCDATA(text);
-	    }
-	}
-	
-	/*
-	 * Appends the given text as a CDATA section to the XML view, unless
-	 * the text has already been marked as CDATA.
-	 */
-	private void appendCDATA(String text) {
-	    buf.append(CDATA_START_SECTION);
-	    buf.append(escapeCDATA(text));
-	    buf.append(CDATA_END_SECTION);
-	}
+                appendCDATA(text);
+                buf.append(JSP_TEXT_ACTION_END);
+                buf.append("\n");
+            } else {
+                appendCDATA(text);
+            }
+        }
+        
+        /*
+         * Appends the given text as a CDATA section to the XML view, unless
+         * the text has already been marked as CDATA.
+         */
+        private void appendCDATA(String text) {
+            buf.append(CDATA_START_SECTION);
+            buf.append(escapeCDATA(text));
+            buf.append(CDATA_END_SECTION);
+        }
 
-	/*
-	 * Escapes any occurrences of "]]>" (by replacing them with "]]&gt;")
-	 * within the given text, so it can be included in a CDATA section.
-	 */
-	private String escapeCDATA(String text) {
+        /*
+         * Escapes any occurrences of "]]>" (by replacing them with "]]&gt;")
+         * within the given text, so it can be included in a CDATA section.
+         */
+        private String escapeCDATA(String text) {
             if( text==null ) return "";
-	    int len = text.length();
-	    CharArrayWriter result = new CharArrayWriter(len);
-	    for (int i=0; i<len; i++) {
-		if (((i+2) < len)
-		        && (text.charAt(i) == ']')
-		        && (text.charAt(i+1) == ']')
-		        && (text.charAt(i+2) == '>')) {
-		    // match found
-		    result.write(']');
-		    result.write(']');
-		    result.write('&');
-		    result.write('g');
-		    result.write('t');
-		    result.write(';');
-		    i += 2;
-		} else {
-		    result.write(text.charAt(i));
-		}
-	    }
-	    return result.toString();
-	}
+            int len = text.length();
+            CharArrayWriter result = new CharArrayWriter(len);
+            for (int i=0; i<len; i++) {
+                if (((i+2) < len)
+                        && (text.charAt(i) == ']')
+                        && (text.charAt(i+1) == ']')
+                        && (text.charAt(i+2) == '>')) {
+                    // match found
+                    result.write(']');
+                    result.write(']');
+                    result.write('&');
+                    result.write('g');
+                    result.write('t');
+                    result.write(';');
+                    i += 2;
+                } else {
+                    result.write(text.charAt(i));
+                }
+            }
+            return result.toString();
+        }
 
-	/*
-	 * Appends the attributes of the given Node to the XML view.
-	 */
-	private void printAttributes(Node n, boolean addDefaultNS) {
+        /*
+         * Appends the attributes of the given Node to the XML view.
+         */
+        private void printAttributes(Node n, boolean addDefaultNS) {
 
-	    /*
-	     * Append "xmlns" attributes that represent tag libraries
-	     */
-	    Attributes attrs = n.getTaglibAttributes();
-	    int len = (attrs == null) ? 0 : attrs.getLength();
-	    for (int i=0; i<len; i++) {
-		String name = attrs.getQName(i);
-		String value = attrs.getValue(i);
-		buf.append("  ").append(name).append("=\"").append(value).append("\"\n");
-	    }
+            /*
+             * Append "xmlns" attributes that represent tag libraries
+             */
+            Attributes attrs = n.getTaglibAttributes();
+            int len = (attrs == null) ? 0 : attrs.getLength();
+            for (int i=0; i<len; i++) {
+                String name = attrs.getQName(i);
+                String value = attrs.getValue(i);
+                buf.append("  ").append(name).append("=\"").append(value).append("\"\n");
+            }
 
-	    /*
-	     * Append "xmlns" attributes that do not represent tag libraries
-	     */
-	    attrs = n.getNonTaglibXmlnsAttributes();
-	    len = (attrs == null) ? 0 : attrs.getLength();
-	    boolean defaultNSSeen = false;
-	    for (int i=0; i<len; i++) {
-		String name = attrs.getQName(i);
-		String value = attrs.getValue(i);
-		buf.append("  ").append(name).append("=\"").append(value).append("\"\n");
-		defaultNSSeen |= "xmlns".equals(name);
-	    }
-	    if (addDefaultNS && !defaultNSSeen) {
-		buf.append("  xmlns=\"\"\n");
-	    }
-	    resetDefaultNS = false;
+            /*
+             * Append "xmlns" attributes that do not represent tag libraries
+             */
+            attrs = n.getNonTaglibXmlnsAttributes();
+            len = (attrs == null) ? 0 : attrs.getLength();
+            boolean defaultNSSeen = false;
+            for (int i=0; i<len; i++) {
+                String name = attrs.getQName(i);
+                String value = attrs.getValue(i);
+                buf.append("  ").append(name).append("=\"").append(value).append("\"\n");
+                defaultNSSeen |= "xmlns".equals(name);
+            }
+            if (addDefaultNS && !defaultNSSeen) {
+                buf.append("  xmlns=\"\"\n");
+            }
+            resetDefaultNS = false;
 
-	    /*
-	     * Append all other attributes
-	     */
-	    attrs = n.getAttributes();
-	    len = (attrs == null) ? 0 : attrs.getLength();
-	    for (int i=0; i<len; i++) {
-		String name = attrs.getQName(i);
-		String value = attrs.getValue(i);
-		buf.append("  ").append(name).append("=\"");
-		buf.append(JspUtil.getExprInXml(value)).append("\"\n");
-	    }
-	}
+            /*
+             * Append all other attributes
+             */
+            attrs = n.getAttributes();
+            len = (attrs == null) ? 0 : attrs.getLength();
+            for (int i=0; i<len; i++) {
+                String name = attrs.getQName(i);
+                String value = attrs.getValue(i);
+                buf.append("  ").append(name).append("=\"");
+                buf.append(JspUtil.getExprInXml(value)).append("\"\n");
+            }
+        }
 
-	/*
-	 * Appends XML prolog with encoding declaration.
-	 */
-	private void appendXmlProlog() {
-	    buf.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
-	}
+        /*
+         * Appends XML prolog with encoding declaration.
+         */
+        private void appendXmlProlog() {
+            buf.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
+        }
     }
 }
 

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/PageInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/PageInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/PageInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Parser.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Parser.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Parser.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -288,7 +289,7 @@
                     i += 2;
                 } else if (ch == '$') {
                     // Replace "\$" with some special char.  XXX hack!
-                    buf.append(Constants.ESC);
+                    buf.append(Constants.HACK_CHAR);
                     i += 2;
                 } else {
                     buf.append('\\');
@@ -1432,7 +1433,7 @@
                 } else if(next == '$') {
                     // Skip the $ and use a hack to flag this sequence
                     reader.nextChar();
-                    ch = Constants.ESC;
+                    ch = Constants.HACK_CHAR;
                 }
             }
             ttext.write(ch);

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ParserController.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ParserController.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ParserController.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ScriptingVariabler.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ScriptingVariabler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ScriptingVariabler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ServletWriter.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ServletWriter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/ServletWriter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/SmapGenerator.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/SmapGenerator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/SmapGenerator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/SmapStratum.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/SmapStratum.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/SmapStratum.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/SmapUtil.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/SmapUtil.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/SmapUtil.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagConstants.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagConstants.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagConstants.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagFileProcessor.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagFileProcessor.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagFileProcessor.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2006 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -491,7 +492,11 @@
 
         if (path.startsWith("/META-INF/tags")) {
             // Tag file packaged in JAR
-            ctxt.getTagFileJarUrls().put(path, jarFileUrl);
+            // check if jarFileUrl is not null before adding it, or this will
+            // cause a NPE.
+            if (jarFileUrl != null) {
+                ctxt.getTagFileJarUrls().put(path, jarFileUrl);
+            }
         } else if (!path.startsWith("/WEB-INF/tags")) {
             err.jspError("jsp.error.tagfile.illegalPath", path);
         }

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagPluginManager.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagPluginManager.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TagPluginManager.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TextOptimizer.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TextOptimizer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TextOptimizer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TldLocationsCache.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TldLocationsCache.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/TldLocationsCache.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Validator.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Validator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/Validator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -35,7 +36,6 @@
 
 import org.apache.jasper.Constants;
 import org.apache.jasper.JasperException;
-import org.apache.jasper.JspCompilationContext;
 import org.xml.sax.Attributes;
 
 /**
@@ -56,37 +56,36 @@
      */
     static class DirectiveVisitor extends Node.Visitor {
 
-	private PageInfo pageInfo;
-	private ErrorDispatcher err;
+        private PageInfo pageInfo;
+        private ErrorDispatcher err;
 
-	private static final JspUtil.ValidAttribute[] pageDirectiveAttrs = {
-	    new JspUtil.ValidAttribute("language"),
-	    new JspUtil.ValidAttribute("extends"),
-	    new JspUtil.ValidAttribute("import"),
-	    new JspUtil.ValidAttribute("session"),
-	    new JspUtil.ValidAttribute("buffer"),
-	    new JspUtil.ValidAttribute("autoFlush"),
-	    new JspUtil.ValidAttribute("isThreadSafe"),
-	    new JspUtil.ValidAttribute("info"),
-	    new JspUtil.ValidAttribute("errorPage"),
-	    new JspUtil.ValidAttribute("isErrorPage"),
-	    new JspUtil.ValidAttribute("contentType"),
-	    new JspUtil.ValidAttribute("pageEncoding"),
-	    new JspUtil.ValidAttribute("isELIgnored")
-	};
+        private static final JspUtil.ValidAttribute[] pageDirectiveAttrs = {
+            new JspUtil.ValidAttribute("language"),
+            new JspUtil.ValidAttribute("extends"),
+            new JspUtil.ValidAttribute("import"),
+            new JspUtil.ValidAttribute("session"),
+            new JspUtil.ValidAttribute("buffer"),
+            new JspUtil.ValidAttribute("autoFlush"),
+            new JspUtil.ValidAttribute("isThreadSafe"),
+            new JspUtil.ValidAttribute("info"),
+            new JspUtil.ValidAttribute("errorPage"),
+            new JspUtil.ValidAttribute("isErrorPage"),
+            new JspUtil.ValidAttribute("contentType"),
+            new JspUtil.ValidAttribute("pageEncoding"),
+            new JspUtil.ValidAttribute("isELIgnored")
+        };
 
-	private boolean pageEncodingSeen = false;
+        private boolean pageEncodingSeen = false;
 
-	/*
-	 * Constructor
-	 */
-	DirectiveVisitor(Compiler compiler) throws JasperException {
-	    this.pageInfo = compiler.getPageInfo();
-	    this.err = compiler.getErrorDispatcher();
-	    JspCompilationContext ctxt = compiler.getCompilationContext();
-	}
+        /*
+         * Constructor
+         */
+        DirectiveVisitor(Compiler compiler) throws JasperException {
+            this.pageInfo = compiler.getPageInfo();
+            this.err = compiler.getErrorDispatcher();
+        }
 
-	public void visit(Node.IncludeDirective n) throws JasperException {
+        public void visit(Node.IncludeDirective n) throws JasperException {
             // Since pageDirectiveSeen flag only applies to the Current page
             // save it here and restore it after the file is included.
             boolean pageEncodingSeenSave = pageEncodingSeen;
@@ -95,162 +94,162 @@
             pageEncodingSeen = pageEncodingSeenSave;
         }
 
-	public void visit(Node.PageDirective n) throws JasperException {    
+        public void visit(Node.PageDirective n) throws JasperException {    
 
             JspUtil.checkAttributes("Page directive", n,
                                     pageDirectiveAttrs, err);
 
-	    // JSP.2.10.1
-	    Attributes attrs = n.getAttributes();
-	    for (int i = 0; attrs != null && i < attrs.getLength(); i++) {
-		String attr = attrs.getQName(i);
-		String value = attrs.getValue(i);
+            // JSP.2.10.1
+            Attributes attrs = n.getAttributes();
+            for (int i = 0; attrs != null && i < attrs.getLength(); i++) {
+                String attr = attrs.getQName(i);
+                String value = attrs.getValue(i);
 
-		if ("language".equals(attr)) {
-		    if (pageInfo.getLanguage(false) == null) {
-			pageInfo.setLanguage(value, n, err, true);
-		    } else if (!pageInfo.getLanguage(false).equals(value)) {
-			err.jspError(n, "jsp.error.page.conflict.language",
-				     pageInfo.getLanguage(false), value);
-		    }
-		} else if ("extends".equals(attr)) {
-		    if (pageInfo.getExtends(false) == null) {
-			pageInfo.setExtends(value, n);
-		    } else if (!pageInfo.getExtends(false).equals(value)) {
-			err.jspError(n, "jsp.error.page.conflict.extends",
-				     pageInfo.getExtends(false), value);
-		    }
-		} else if ("contentType".equals(attr)) {
-		    if (pageInfo.getContentType() == null) {
-			pageInfo.setContentType(value);
-		    } else if (!pageInfo.getContentType().equals(value)) {
-			err.jspError(n, "jsp.error.page.conflict.contenttype",
-				     pageInfo.getContentType(), value);
-		    }
-		} else if ("session".equals(attr)) {
-		    if (pageInfo.getSession() == null) {
-			pageInfo.setSession(value, n, err);
-		    } else if (!pageInfo.getSession().equals(value)) {
-			err.jspError(n, "jsp.error.page.conflict.session",
-				     pageInfo.getSession(), value);
-		    }
-		} else if ("buffer".equals(attr)) {
-		    if (pageInfo.getBufferValue() == null) {
-			pageInfo.setBufferValue(value, n, err);
-		    } else if (!pageInfo.getBufferValue().equals(value)) {
-			err.jspError(n, "jsp.error.page.conflict.buffer",
-				     pageInfo.getBufferValue(), value);
-		    }
-		} else if ("autoFlush".equals(attr)) {
-		    if (pageInfo.getAutoFlush() == null) {
-			pageInfo.setAutoFlush(value, n, err);
-		    } else if (!pageInfo.getAutoFlush().equals(value)) {
-			err.jspError(n, "jsp.error.page.conflict.autoflush",
-				     pageInfo.getAutoFlush(), value);
-		    }
-		} else if ("isThreadSafe".equals(attr)) {
-		    if (pageInfo.getIsThreadSafe() == null) {
-			pageInfo.setIsThreadSafe(value, n, err);
-		    } else if (!pageInfo.getIsThreadSafe().equals(value)) {
-			err.jspError(n, "jsp.error.page.conflict.isthreadsafe",
-				     pageInfo.getIsThreadSafe(), value);
-		    }
-		} else if ("isELIgnored".equals(attr)) {
-		    if (pageInfo.getIsELIgnored() == null) {
+                if ("language".equals(attr)) {
+                    if (pageInfo.getLanguage(false) == null) {
+                        pageInfo.setLanguage(value, n, err, true);
+                    } else if (!pageInfo.getLanguage(false).equals(value)) {
+                        err.jspError(n, "jsp.error.page.conflict.language",
+                                     pageInfo.getLanguage(false), value);
+                    }
+                } else if ("extends".equals(attr)) {
+                    if (pageInfo.getExtends(false) == null) {
+                        pageInfo.setExtends(value, n);
+                    } else if (!pageInfo.getExtends(false).equals(value)) {
+                        err.jspError(n, "jsp.error.page.conflict.extends",
+                                     pageInfo.getExtends(false), value);
+                    }
+                } else if ("contentType".equals(attr)) {
+                    if (pageInfo.getContentType() == null) {
+                        pageInfo.setContentType(value);
+                    } else if (!pageInfo.getContentType().equals(value)) {
+                        err.jspError(n, "jsp.error.page.conflict.contenttype",
+                                     pageInfo.getContentType(), value);
+                    }
+                } else if ("session".equals(attr)) {
+                    if (pageInfo.getSession() == null) {
+                        pageInfo.setSession(value, n, err);
+                    } else if (!pageInfo.getSession().equals(value)) {
+                        err.jspError(n, "jsp.error.page.conflict.session",
+                                     pageInfo.getSession(), value);
+                    }
+                } else if ("buffer".equals(attr)) {
+                    if (pageInfo.getBufferValue() == null) {
+                        pageInfo.setBufferValue(value, n, err);
+                    } else if (!pageInfo.getBufferValue().equals(value)) {
+                        err.jspError(n, "jsp.error.page.conflict.buffer",
+                                     pageInfo.getBufferValue(), value);
+                    }
+                } else if ("autoFlush".equals(attr)) {
+                    if (pageInfo.getAutoFlush() == null) {
+                        pageInfo.setAutoFlush(value, n, err);
+                    } else if (!pageInfo.getAutoFlush().equals(value)) {
+                        err.jspError(n, "jsp.error.page.conflict.autoflush",
+                                     pageInfo.getAutoFlush(), value);
+                    }
+                } else if ("isThreadSafe".equals(attr)) {
+                    if (pageInfo.getIsThreadSafe() == null) {
+                        pageInfo.setIsThreadSafe(value, n, err);
+                    } else if (!pageInfo.getIsThreadSafe().equals(value)) {
+                        err.jspError(n, "jsp.error.page.conflict.isthreadsafe",
+                                     pageInfo.getIsThreadSafe(), value);
+                    }
+                } else if ("isELIgnored".equals(attr)) {
+                    if (pageInfo.getIsELIgnored() == null) {
                         pageInfo.setIsELIgnored(value, n, err, true);
-		    } else if (!pageInfo.getIsELIgnored().equals(value)) {
-			err.jspError(n, "jsp.error.page.conflict.iselignored",
-				     pageInfo.getIsELIgnored(), value);
-		    }
-		} else if ("isErrorPage".equals(attr)) {
-		    if (pageInfo.getIsErrorPage() == null) {
-			pageInfo.setIsErrorPage(value, n, err);
-		    } else if (!pageInfo.getIsErrorPage().equals(value)) {
-			err.jspError(n, "jsp.error.page.conflict.iserrorpage",
-				     pageInfo.getIsErrorPage(), value);
-		    }
-		} else if ("errorPage".equals(attr)) {
-		    if (pageInfo.getErrorPage() == null) {
-			pageInfo.setErrorPage(value);
-		    } else if (!pageInfo.getErrorPage().equals(value)) {
-			err.jspError(n, "jsp.error.page.conflict.errorpage",
-				     pageInfo.getErrorPage(), value);
-		    }
-		} else if ("info".equals(attr)) {
-		    if (pageInfo.getInfo() == null) {
-			pageInfo.setInfo(value);
-		    } else if (!pageInfo.getInfo().equals(value)) {
-			err.jspError(n, "jsp.error.page.conflict.info",
-				     pageInfo.getInfo(), value);
-		    }
-		} else if ("pageEncoding".equals(attr)) {
-		    if (pageEncodingSeen) 
-			err.jspError(n, "jsp.error.page.multi.pageencoding");
-		    // 'pageEncoding' can occur at most once per file
-		    pageEncodingSeen = true;
-		    comparePageEncodings(value, n);
-		}
-	    }
+                    } else if (!pageInfo.getIsELIgnored().equals(value)) {
+                        err.jspError(n, "jsp.error.page.conflict.iselignored",
+                                     pageInfo.getIsELIgnored(), value);
+                    }
+                } else if ("isErrorPage".equals(attr)) {
+                    if (pageInfo.getIsErrorPage() == null) {
+                        pageInfo.setIsErrorPage(value, n, err);
+                    } else if (!pageInfo.getIsErrorPage().equals(value)) {
+                        err.jspError(n, "jsp.error.page.conflict.iserrorpage",
+                                     pageInfo.getIsErrorPage(), value);
+                    }
+                } else if ("errorPage".equals(attr)) {
+                    if (pageInfo.getErrorPage() == null) {
+                        pageInfo.setErrorPage(value);
+                    } else if (!pageInfo.getErrorPage().equals(value)) {
+                        err.jspError(n, "jsp.error.page.conflict.errorpage",
+                                     pageInfo.getErrorPage(), value);
+                    }
+                } else if ("info".equals(attr)) {
+                    if (pageInfo.getInfo() == null) {
+                        pageInfo.setInfo(value);
+                    } else if (!pageInfo.getInfo().equals(value)) {
+                        err.jspError(n, "jsp.error.page.conflict.info",
+                                     pageInfo.getInfo(), value);
+                    }
+                } else if ("pageEncoding".equals(attr)) {
+                    if (pageEncodingSeen) 
+                        err.jspError(n, "jsp.error.page.multi.pageencoding");
+                    // 'pageEncoding' can occur at most once per file
+                    pageEncodingSeen = true;
+                    comparePageEncodings(value, n);
+                }
+            }
 
-	    // Check for bad combinations
-	    if (pageInfo.getBuffer() == 0 && !pageInfo.isAutoFlush())
-		err.jspError(n, "jsp.error.page.badCombo");
+            // Check for bad combinations
+            if (pageInfo.getBuffer() == 0 && !pageInfo.isAutoFlush())
+                err.jspError(n, "jsp.error.page.badCombo");
 
-	    // Attributes for imports for this node have been processed by
-	    // the parsers, just add them to pageInfo.
-	    pageInfo.addImports(n.getImports());
-	}
+            // Attributes for imports for this node have been processed by
+            // the parsers, just add them to pageInfo.
+            pageInfo.addImports(n.getImports());
+        }
 
-	public void visit(Node.TagDirective n) throws JasperException {
+        public void visit(Node.TagDirective n) throws JasperException {
             // Note: Most of the validation is done in TagFileProcessor
             // when it created a TagInfo object from the
             // tag file in which the directive appeared.
         
             // This method does additional processing to collect page info
             
-	    Attributes attrs = n.getAttributes();
-	    for (int i = 0; attrs != null && i < attrs.getLength(); i++) {
-		String attr = attrs.getQName(i);
-		String value = attrs.getValue(i);
+            Attributes attrs = n.getAttributes();
+            for (int i = 0; attrs != null && i < attrs.getLength(); i++) {
+                String attr = attrs.getQName(i);
+                String value = attrs.getValue(i);
 
-		if ("language".equals(attr)) {
-		    if (pageInfo.getLanguage(false) == null) {
-			pageInfo.setLanguage(value, n, err, false);
-		    } else if (!pageInfo.getLanguage(false).equals(value)) {
-			err.jspError(n, "jsp.error.tag.conflict.language",
-				     pageInfo.getLanguage(false), value);
-		    }
-		} else if ("isELIgnored".equals(attr)) {
-		    if (pageInfo.getIsELIgnored() == null) {
+                if ("language".equals(attr)) {
+                    if (pageInfo.getLanguage(false) == null) {
+                        pageInfo.setLanguage(value, n, err, false);
+                    } else if (!pageInfo.getLanguage(false).equals(value)) {
+                        err.jspError(n, "jsp.error.tag.conflict.language",
+                                     pageInfo.getLanguage(false), value);
+                    }
+                } else if ("isELIgnored".equals(attr)) {
+                    if (pageInfo.getIsELIgnored() == null) {
                         pageInfo.setIsELIgnored(value, n, err, false);
-		    } else if (!pageInfo.getIsELIgnored().equals(value)) {
-			err.jspError(n, "jsp.error.tag.conflict.iselignored",
-				     pageInfo.getIsELIgnored(), value);
-		    }
-		} else if ("pageEncoding".equals(attr)) {
-		    if (pageEncodingSeen) 
-			err.jspError(n, "jsp.error.tag.multi.pageencoding");
-		    pageEncodingSeen = true;
-		    n.getRoot().setPageEncoding(value);
-		}
-	    }
+                    } else if (!pageInfo.getIsELIgnored().equals(value)) {
+                        err.jspError(n, "jsp.error.tag.conflict.iselignored",
+                                     pageInfo.getIsELIgnored(), value);
+                    }
+                } else if ("pageEncoding".equals(attr)) {
+                    if (pageEncodingSeen) 
+                        err.jspError(n, "jsp.error.tag.multi.pageencoding");
+                    pageEncodingSeen = true;
+                    n.getRoot().setPageEncoding(value);
+                }
+            }
 
-	    // Attributes for imports for this node have been processed by
-	    // the parsers, just add them to pageInfo.
-	    pageInfo.addImports(n.getImports());
-	}
+            // Attributes for imports for this node have been processed by
+            // the parsers, just add them to pageInfo.
+            pageInfo.addImports(n.getImports());
+        }
 
-	public void visit(Node.AttributeDirective n) throws JasperException {
-	    // Do nothing, since this attribute directive has already been
-	    // validated by TagFileProcessor when it created a TagInfo object
-	    // from the tag file in which the directive appeared
-	}
+        public void visit(Node.AttributeDirective n) throws JasperException {
+            // Do nothing, since this attribute directive has already been
+            // validated by TagFileProcessor when it created a TagInfo object
+            // from the tag file in which the directive appeared
+        }
 
-	public void visit(Node.VariableDirective n) throws JasperException {
-	    // Do nothing, since this variable directive has already been
-	    // validated by TagFileProcessor when it created a TagInfo object
-	    // from the tag file in which the directive appeared
-	}
+        public void visit(Node.VariableDirective n) throws JasperException {
+            // Do nothing, since this variable directive has already been
+            // validated by TagFileProcessor when it created a TagInfo object
+            // from the tag file in which the directive appeared
+        }
 
         /*
          * Compares page encodings specified in various places, and throws
@@ -290,8 +289,8 @@
              * declaration).
              * Treat "UTF-16", "UTF-16BE", and "UTF-16LE" as identical.
              */
-	    if (root.isXmlSyntax() && root.isEncodingSpecifiedInProlog()) {
-		String pageEnc = root.getPageEncoding();
+            if (root.isXmlSyntax() && root.isEncodingSpecifiedInProlog()) {
+                String pageEnc = root.getPageEncoding();
                 if (!pageDirEnc.equals(pageEnc) 
                         && (!pageDirEnc.startsWith("UTF-16")
                             || !pageEnc.startsWith("UTF-16"))) {
@@ -308,65 +307,64 @@
      */
     static class ValidateVisitor extends Node.Visitor {
 
-	private PageInfo pageInfo;
-	private ErrorDispatcher err;
-	private TagInfo tagInfo;
+        private PageInfo pageInfo;
+        private ErrorDispatcher err;
         private ClassLoader loader;
 
-	private static final JspUtil.ValidAttribute[] jspRootAttrs = {
+        private static final JspUtil.ValidAttribute[] jspRootAttrs = {
             new JspUtil.ValidAttribute("xsi:schemaLocation"),
-	    new JspUtil.ValidAttribute("version", true) };
+            new JspUtil.ValidAttribute("version", true) };
 
-	private static final JspUtil.ValidAttribute[] includeDirectiveAttrs = {
-	    new JspUtil.ValidAttribute("file", true) };
+        private static final JspUtil.ValidAttribute[] includeDirectiveAttrs = {
+            new JspUtil.ValidAttribute("file", true) };
 
-	private static final JspUtil.ValidAttribute[] taglibDirectiveAttrs = {
-	    new JspUtil.ValidAttribute("uri"),
-	    new JspUtil.ValidAttribute("tagdir"),
-	    new JspUtil.ValidAttribute("prefix", true) };
+        private static final JspUtil.ValidAttribute[] taglibDirectiveAttrs = {
+            new JspUtil.ValidAttribute("uri"),
+            new JspUtil.ValidAttribute("tagdir"),
+            new JspUtil.ValidAttribute("prefix", true) };
 
-	private static final JspUtil.ValidAttribute[] includeActionAttrs = {
-	    new JspUtil.ValidAttribute("page", true, true),
-	    new JspUtil.ValidAttribute("flush") };
+        private static final JspUtil.ValidAttribute[] includeActionAttrs = {
+            new JspUtil.ValidAttribute("page", true, true),
+            new JspUtil.ValidAttribute("flush") };
 
-	private static final JspUtil.ValidAttribute[] paramActionAttrs = {
-	    new JspUtil.ValidAttribute("name", true),
-	    new JspUtil.ValidAttribute("value", true, true) };
+        private static final JspUtil.ValidAttribute[] paramActionAttrs = {
+            new JspUtil.ValidAttribute("name", true),
+            new JspUtil.ValidAttribute("value", true, true) };
 
-	private static final JspUtil.ValidAttribute[] forwardActionAttrs = {
-	    new JspUtil.ValidAttribute("page", true, true) };
+        private static final JspUtil.ValidAttribute[] forwardActionAttrs = {
+            new JspUtil.ValidAttribute("page", true, true) };
 
-	private static final JspUtil.ValidAttribute[] getPropertyAttrs = {
-	    new JspUtil.ValidAttribute("name", true),
-	    new JspUtil.ValidAttribute("property", true) };
+        private static final JspUtil.ValidAttribute[] getPropertyAttrs = {
+            new JspUtil.ValidAttribute("name", true),
+            new JspUtil.ValidAttribute("property", true) };
 
-	private static final JspUtil.ValidAttribute[] setPropertyAttrs = {
-	    new JspUtil.ValidAttribute("name", true),
-	    new JspUtil.ValidAttribute("property", true),
-	    new JspUtil.ValidAttribute("value", false, true),
-	    new JspUtil.ValidAttribute("param") };
+        private static final JspUtil.ValidAttribute[] setPropertyAttrs = {
+            new JspUtil.ValidAttribute("name", true),
+            new JspUtil.ValidAttribute("property", true),
+            new JspUtil.ValidAttribute("value", false, true),
+            new JspUtil.ValidAttribute("param") };
 
-	private static final JspUtil.ValidAttribute[] useBeanAttrs = {
-	    new JspUtil.ValidAttribute("id", true),
-	    new JspUtil.ValidAttribute("scope"),
-	    new JspUtil.ValidAttribute("class"),
-	    new JspUtil.ValidAttribute("type"),
-	    new JspUtil.ValidAttribute("beanName", false, true) };
+        private static final JspUtil.ValidAttribute[] useBeanAttrs = {
+            new JspUtil.ValidAttribute("id", true),
+            new JspUtil.ValidAttribute("scope"),
+            new JspUtil.ValidAttribute("class"),
+            new JspUtil.ValidAttribute("type"),
+            new JspUtil.ValidAttribute("beanName", false, true) };
 
-	private static final JspUtil.ValidAttribute[] plugInAttrs = {
-	    new JspUtil.ValidAttribute("type",true),
-	    new JspUtil.ValidAttribute("code", true),
-	    new JspUtil.ValidAttribute("codebase"),
-	    new JspUtil.ValidAttribute("align"),
-	    new JspUtil.ValidAttribute("archive"),
-	    new JspUtil.ValidAttribute("height", false, true),
-	    new JspUtil.ValidAttribute("hspace"),
-	    new JspUtil.ValidAttribute("jreversion"),
-	    new JspUtil.ValidAttribute("name"),
-	    new JspUtil.ValidAttribute("vspace"),
-	    new JspUtil.ValidAttribute("width", false, true),
-	    new JspUtil.ValidAttribute("nspluginurl"),
-	    new JspUtil.ValidAttribute("iepluginurl") };
+        private static final JspUtil.ValidAttribute[] plugInAttrs = {
+            new JspUtil.ValidAttribute("type",true),
+            new JspUtil.ValidAttribute("code", true),
+            new JspUtil.ValidAttribute("codebase"),
+            new JspUtil.ValidAttribute("align"),
+            new JspUtil.ValidAttribute("archive"),
+            new JspUtil.ValidAttribute("height", false, true),
+            new JspUtil.ValidAttribute("hspace"),
+            new JspUtil.ValidAttribute("jreversion"),
+            new JspUtil.ValidAttribute("name"),
+            new JspUtil.ValidAttribute("vspace"),
+            new JspUtil.ValidAttribute("width", false, true),
+            new JspUtil.ValidAttribute("nspluginurl"),
+            new JspUtil.ValidAttribute("iepluginurl") };
             
         private static final JspUtil.ValidAttribute[] attributeAttrs = {
             new JspUtil.ValidAttribute("name", true),
@@ -374,556 +372,555 @@
             
         private static final JspUtil.ValidAttribute[] invokeAttrs = {
             new JspUtil.ValidAttribute("fragment", true),
-	    new JspUtil.ValidAttribute("var"),
-	    new JspUtil.ValidAttribute("varReader"),
-	    new JspUtil.ValidAttribute("scope") };
+            new JspUtil.ValidAttribute("var"),
+            new JspUtil.ValidAttribute("varReader"),
+            new JspUtil.ValidAttribute("scope") };
 
         private static final JspUtil.ValidAttribute[] doBodyAttrs = {
             new JspUtil.ValidAttribute("var"),
-	    new JspUtil.ValidAttribute("varReader"),
-	    new JspUtil.ValidAttribute("scope") };
+            new JspUtil.ValidAttribute("varReader"),
+            new JspUtil.ValidAttribute("scope") };
 
-	private static final JspUtil.ValidAttribute[] jspOutputAttrs = {
-	    new JspUtil.ValidAttribute("omit-xml-declaration"),
-	    new JspUtil.ValidAttribute("doctype-root-element"),
-	    new JspUtil.ValidAttribute("doctype-public"),
-	    new JspUtil.ValidAttribute("doctype-system") };
+        private static final JspUtil.ValidAttribute[] jspOutputAttrs = {
+            new JspUtil.ValidAttribute("omit-xml-declaration"),
+            new JspUtil.ValidAttribute("doctype-root-element"),
+            new JspUtil.ValidAttribute("doctype-public"),
+            new JspUtil.ValidAttribute("doctype-system") };
 
-	/*
-	 * Constructor
-	 */
-	ValidateVisitor(Compiler compiler) {
-	    this.pageInfo = compiler.getPageInfo();
-	    this.err = compiler.getErrorDispatcher();
-	    this.tagInfo = compiler.getCompilationContext().getTagInfo();
-	    this.loader = compiler.getCompilationContext().getClassLoader();
-	}
+        /*
+         * Constructor
+         */
+        ValidateVisitor(Compiler compiler) {
+            this.pageInfo = compiler.getPageInfo();
+            this.err = compiler.getErrorDispatcher();
+            this.loader = compiler.getCompilationContext().getClassLoader();
+        }
 
-	public void visit(Node.JspRoot n) throws JasperException {
-	    JspUtil.checkAttributes("Jsp:root", n,
-				    jspRootAttrs, err);
-	    String version = n.getTextAttribute("version");
-	    if (!version.equals("1.2") && !version.equals("2.0")) {
-		err.jspError(n, "jsp.error.jsproot.version.invalid", version);
-	    }
-	    visitBody(n);
-	}
+        public void visit(Node.JspRoot n) throws JasperException {
+            JspUtil.checkAttributes("Jsp:root", n,
+                                    jspRootAttrs, err);
+            String version = n.getTextAttribute("version");
+            if (!version.equals("1.2") && !version.equals("2.0")) {
+                err.jspError(n, "jsp.error.jsproot.version.invalid", version);
+            }
+            visitBody(n);
+        }
 
-	public void visit(Node.IncludeDirective n) throws JasperException {
+        public void visit(Node.IncludeDirective n) throws JasperException {
             JspUtil.checkAttributes("Include directive", n,
                                     includeDirectiveAttrs, err);
-	    visitBody(n);
-	}
+            visitBody(n);
+        }
 
-	public void visit(Node.TaglibDirective n) throws JasperException {
+        public void visit(Node.TaglibDirective n) throws JasperException {
             JspUtil.checkAttributes("Taglib directive", n,
                                     taglibDirectiveAttrs, err);
-	    // Either 'uri' or 'tagdir' attribute must be specified
-	    String uri = n.getAttributeValue("uri");
-	    String tagdir = n.getAttributeValue("tagdir");
-	    if (uri == null && tagdir == null) {
-		err.jspError(n, "jsp.error.taglibDirective.missing.location");
-	    }
-	    if (uri != null && tagdir != null) {
-		err.jspError(n, "jsp.error.taglibDirective.both_uri_and_tagdir");
-	    }
-	}
+            // Either 'uri' or 'tagdir' attribute must be specified
+            String uri = n.getAttributeValue("uri");
+            String tagdir = n.getAttributeValue("tagdir");
+            if (uri == null && tagdir == null) {
+                err.jspError(n, "jsp.error.taglibDirective.missing.location");
+            }
+            if (uri != null && tagdir != null) {
+                err.jspError(n, "jsp.error.taglibDirective.both_uri_and_tagdir");
+            }
+        }
 
-	public void visit(Node.ParamAction n) throws JasperException {
+        public void visit(Node.ParamAction n) throws JasperException {
             JspUtil.checkAttributes("Param action", n,
                                     paramActionAttrs, err);
-	    // make sure the value of the 'name' attribute is not a
-	    // request-time expression
-	    throwErrorIfExpression(n, "name", "jsp:param");
-	    n.setValue(getJspAttribute("value", null, null,
-				       n.getAttributeValue("value"),
+            // make sure the value of the 'name' attribute is not a
+            // request-time expression
+            throwErrorIfExpression(n, "name", "jsp:param");
+            n.setValue(getJspAttribute("value", null, null,
+                                       n.getAttributeValue("value"),
                                        java.lang.String.class,
-				       n, false));
+                                       n, false));
             visitBody(n);
-	}
+        }
 
-	public void visit(Node.ParamsAction n) throws JasperException {
-	    // Make sure we've got at least one nested jsp:param
+        public void visit(Node.ParamsAction n) throws JasperException {
+            // Make sure we've got at least one nested jsp:param
             Node.Nodes subElems = n.getBody();
             if (subElems == null) {
-		err.jspError(n, "jsp.error.params.emptyBody");
-	    }
+                err.jspError(n, "jsp.error.params.emptyBody");
+            }
             visitBody(n);
-	}
+        }
 
-	public void visit(Node.IncludeAction n) throws JasperException {
+        public void visit(Node.IncludeAction n) throws JasperException {
             JspUtil.checkAttributes("Include action", n,
                                     includeActionAttrs, err);
-	    n.setPage(getJspAttribute("page", null, null,
-				      n.getAttributeValue("page"), 
+            n.setPage(getJspAttribute("page", null, null,
+                                      n.getAttributeValue("page"), 
                                       java.lang.String.class, n, false));
-	    visitBody(n);
+            visitBody(n);
         };
 
-	public void visit(Node.ForwardAction n) throws JasperException {
+        public void visit(Node.ForwardAction n) throws JasperException {
             JspUtil.checkAttributes("Forward", n,
                                     forwardActionAttrs, err);
-	    n.setPage(getJspAttribute("page", null, null,
-				      n.getAttributeValue("page"), 
+            n.setPage(getJspAttribute("page", null, null,
+                                      n.getAttributeValue("page"), 
                                       java.lang.String.class, n, false));
-	    visitBody(n);
-	}
+            visitBody(n);
+        }
 
-	public void visit(Node.GetProperty n) throws JasperException {
+        public void visit(Node.GetProperty n) throws JasperException {
             JspUtil.checkAttributes("GetProperty", n,
                                     getPropertyAttrs, err);
-	}
+        }
 
-	public void visit(Node.SetProperty n) throws JasperException {
+        public void visit(Node.SetProperty n) throws JasperException {
             JspUtil.checkAttributes("SetProperty", n,
                                     setPropertyAttrs, err);
-	    String name = n.getTextAttribute("name");
-	    String property = n.getTextAttribute("property");
-	    String param = n.getTextAttribute("param");
-	    String value = n.getAttributeValue("value");
+            String property = n.getTextAttribute("property");
+            String param = n.getTextAttribute("param");
+            String value = n.getAttributeValue("value");
 
             n.setValue(getJspAttribute("value", null, null, value, 
                 java.lang.Object.class, n, false));
 
             boolean valueSpecified = n.getValue() != null;
 
-	    if ("*".equals(property)) { 
+            if ("*".equals(property)) { 
                 if (param != null || valueSpecified)
-		    err.jspError(n, "jsp.error.setProperty.invalid");
-		
+                    err.jspError(n, "jsp.error.setProperty.invalid");
+                
             } else if (param != null && valueSpecified) {
-		err.jspError(n, "jsp.error.setProperty.invalid");
-	    }
+                err.jspError(n, "jsp.error.setProperty.invalid");
+            }
             
             visitBody(n);
-	}
+        }
 
-	public void visit(Node.UseBean n) throws JasperException {
+        public void visit(Node.UseBean n) throws JasperException {
             JspUtil.checkAttributes("UseBean", n,
                                     useBeanAttrs, err);
 
-	    String name = n.getTextAttribute ("id");
-	    String scope = n.getTextAttribute ("scope");
-	    JspUtil.checkScope(scope, n, err);
-	    String className = n.getTextAttribute ("class");
-	    String type = n.getTextAttribute ("type");
-	    BeanRepository beanInfo = pageInfo.getBeanRepository();
+            String name = n.getTextAttribute ("id");
+            String scope = n.getTextAttribute ("scope");
+            JspUtil.checkScope(scope, n, err);
+            String className = n.getTextAttribute ("class");
+            String type = n.getTextAttribute ("type");
+            BeanRepository beanInfo = pageInfo.getBeanRepository();
 
-	    if (className == null && type == null)
-		err.jspError(n, "jsp.error.usebean.missingType");
+            if (className == null && type == null)
+                err.jspError(n, "jsp.error.usebean.missingType");
 
-	    if (beanInfo.checkVariable(name))
-		err.jspError(n, "jsp.error.usebean.duplicate");
+            if (beanInfo.checkVariable(name))
+                err.jspError(n, "jsp.error.usebean.duplicate");
 
-	    if ("session".equals(scope) && !pageInfo.isSession())
-		err.jspError(n, "jsp.error.usebean.noSession");
+            if ("session".equals(scope) && !pageInfo.isSession())
+                err.jspError(n, "jsp.error.usebean.noSession");
 
-	    Node.JspAttribute jattr
-		= getJspAttribute("beanName", null, null,
-				  n.getAttributeValue("beanName"),
-				  java.lang.String.class, n, false);
-	    n.setBeanName(jattr);
-	    if (className != null && jattr != null)
-		err.jspError(n, "jsp.error.usebean.notBoth");
+            Node.JspAttribute jattr
+                = getJspAttribute("beanName", null, null,
+                                  n.getAttributeValue("beanName"),
+                                  java.lang.String.class, n, false);
+            n.setBeanName(jattr);
+            if (className != null && jattr != null)
+                err.jspError(n, "jsp.error.usebean.notBoth");
 
-	    if (className == null)
-		className = type;
+            if (className == null)
+                className = type;
 
-	    beanInfo.addBean(n, name, className, scope);
+            beanInfo.addBean(n, name, className, scope);
 
-	    visitBody(n);
-	}
+            visitBody(n);
+        }
 
-	public void visit(Node.PlugIn n) throws JasperException {
+        public void visit(Node.PlugIn n) throws JasperException {
             JspUtil.checkAttributes("Plugin", n, plugInAttrs, err);
 
-	    throwErrorIfExpression(n, "type", "jsp:plugin");
-	    throwErrorIfExpression(n, "code", "jsp:plugin");
-	    throwErrorIfExpression(n, "codebase", "jsp:plugin");
-	    throwErrorIfExpression(n, "align", "jsp:plugin");
-	    throwErrorIfExpression(n, "archive", "jsp:plugin");
-	    throwErrorIfExpression(n, "hspace", "jsp:plugin");
-	    throwErrorIfExpression(n, "jreversion", "jsp:plugin");
-	    throwErrorIfExpression(n, "name", "jsp:plugin");
-	    throwErrorIfExpression(n, "vspace", "jsp:plugin");
-	    throwErrorIfExpression(n, "nspluginurl", "jsp:plugin");
-	    throwErrorIfExpression(n, "iepluginurl", "jsp:plugin");
+            throwErrorIfExpression(n, "type", "jsp:plugin");
+            throwErrorIfExpression(n, "code", "jsp:plugin");
+            throwErrorIfExpression(n, "codebase", "jsp:plugin");
+            throwErrorIfExpression(n, "align", "jsp:plugin");
+            throwErrorIfExpression(n, "archive", "jsp:plugin");
+            throwErrorIfExpression(n, "hspace", "jsp:plugin");
+            throwErrorIfExpression(n, "jreversion", "jsp:plugin");
+            throwErrorIfExpression(n, "name", "jsp:plugin");
+            throwErrorIfExpression(n, "vspace", "jsp:plugin");
+            throwErrorIfExpression(n, "nspluginurl", "jsp:plugin");
+            throwErrorIfExpression(n, "iepluginurl", "jsp:plugin");
 
-	    String type = n.getTextAttribute("type");
-	    if (type == null)
-		err.jspError(n, "jsp.error.plugin.notype");
-	    if (!type.equals("bean") && !type.equals("applet"))
-		err.jspError(n, "jsp.error.plugin.badtype");
-	    if (n.getTextAttribute("code") == null)
-		err.jspError(n, "jsp.error.plugin.nocode");
+            String type = n.getTextAttribute("type");
+            if (type == null)
+                err.jspError(n, "jsp.error.plugin.notype");
+            if (!type.equals("bean") && !type.equals("applet"))
+                err.jspError(n, "jsp.error.plugin.badtype");
+            if (n.getTextAttribute("code") == null)
+                err.jspError(n, "jsp.error.plugin.nocode");
             
-	    Node.JspAttribute width
-		= getJspAttribute("width", null, null,
-				  n.getAttributeValue("width"), 
+            Node.JspAttribute width
+                = getJspAttribute("width", null, null,
+                                  n.getAttributeValue("width"), 
                                   java.lang.String.class, n, false);
-	    n.setWidth( width );
+            n.setWidth( width );
             
-	    Node.JspAttribute height
-		= getJspAttribute("height", null, null,
-				  n.getAttributeValue("height"), 
+            Node.JspAttribute height
+                = getJspAttribute("height", null, null,
+                                  n.getAttributeValue("height"), 
                                   java.lang.String.class, n, false);
-	    n.setHeight( height );
+            n.setHeight( height );
 
-	    visitBody(n);
-	}
+            visitBody(n);
+        }
 
-	public void visit(Node.NamedAttribute n) throws JasperException {
-	    JspUtil.checkAttributes("Attribute", n,
-				    attributeAttrs, err);
+        public void visit(Node.NamedAttribute n) throws JasperException {
+            JspUtil.checkAttributes("Attribute", n,
+                                    attributeAttrs, err);
             visitBody(n);
-	}
+        }
         
-	public void visit(Node.JspBody n) throws JasperException {
+        public void visit(Node.JspBody n) throws JasperException {
             visitBody(n);
-	}
+        }
         
-	public void visit(Node.Declaration n) throws JasperException {
-	    if (pageInfo.isScriptingInvalid()) {
-		err.jspError(n.getStart(), "jsp.error.no.scriptlets");
-	    }
-	}
+        public void visit(Node.Declaration n) throws JasperException {
+            if (pageInfo.isScriptingInvalid()) {
+                err.jspError(n.getStart(), "jsp.error.no.scriptlets");
+            }
+        }
 
         public void visit(Node.Expression n) throws JasperException {
-	    if (pageInfo.isScriptingInvalid()) {
-		err.jspError(n.getStart(), "jsp.error.no.scriptlets");
-	    }
-	}
+            if (pageInfo.isScriptingInvalid()) {
+                err.jspError(n.getStart(), "jsp.error.no.scriptlets");
+            }
+        }
 
         public void visit(Node.Scriptlet n) throws JasperException {
-	    if (pageInfo.isScriptingInvalid()) {
-		err.jspError(n.getStart(), "jsp.error.no.scriptlets");
-	    }
-	}
+            if (pageInfo.isScriptingInvalid()) {
+                err.jspError(n.getStart(), "jsp.error.no.scriptlets");
+            }
+        }
 
-	public void visit(Node.ELExpression n) throws JasperException {
+        public void visit(Node.ELExpression n) throws JasperException {
             if ( !pageInfo.isELIgnored() ) {
-		String expressions = "${" + new String(n.getText()) + "}";
-		ELNode.Nodes el = ELParser.parse(expressions);
-		validateFunctions(el, n);
+                String expressions = "${" + new String(n.getText()) + "}";
+                ELNode.Nodes el = ELParser.parse(expressions);
+                validateFunctions(el, n);
                 JspUtil.validateExpressions(
                     n.getStart(),
-		    expressions,
+                    expressions,
                     java.lang.String.class, // XXX - Should template text 
                                             // always evaluate to String?
                     getFunctionMapper(el),
                     err);
-		n.setEL(el);
+                n.setEL(el);
             }
         }
 
-	public void visit(Node.UninterpretedTag n) throws JasperException {
+        public void visit(Node.UninterpretedTag n) throws JasperException {
             if (n.getNamedAttributeNodes().size() != 0) {
-		err.jspError(n, "jsp.error.namedAttribute.invalidUse");
+                err.jspError(n, "jsp.error.namedAttribute.invalidUse");
             }
 
-	    Attributes attrs = n.getAttributes();
-	    if (attrs != null) {
-		int attrSize = attrs.getLength();
-		Node.JspAttribute[] jspAttrs = new Node.JspAttribute[attrSize];
-		for (int i=0; i < attrSize; i++) {
-		    jspAttrs[i] = getJspAttribute(attrs.getQName(i),
-						  attrs.getURI(i),
-						  attrs.getLocalName(i),
-						  attrs.getValue(i),
-						  java.lang.Object.class,
-						  n,
-						  false);
-		}
-		n.setJspAttributes(jspAttrs);
-	    }
+            Attributes attrs = n.getAttributes();
+            if (attrs != null) {
+                int attrSize = attrs.getLength();
+                Node.JspAttribute[] jspAttrs = new Node.JspAttribute[attrSize];
+                for (int i=0; i < attrSize; i++) {
+                    jspAttrs[i] = getJspAttribute(attrs.getQName(i),
+                                                  attrs.getURI(i),
+                                                  attrs.getLocalName(i),
+                                                  attrs.getValue(i),
+                                                  java.lang.Object.class,
+                                                  n,
+                                                  false);
+                }
+                n.setJspAttributes(jspAttrs);
+            }
 
-	    visitBody(n);
+            visitBody(n);
         }
 
-	public void visit(Node.CustomTag n) throws JasperException {
+        public void visit(Node.CustomTag n) throws JasperException {
 
-	    TagInfo tagInfo = n.getTagInfo();
-	    if (tagInfo == null) {
-		err.jspError(n, "jsp.error.missing.tagInfo", n.getQName());
-	    }
+            TagInfo tagInfo = n.getTagInfo();
+            if (tagInfo == null) {
+                err.jspError(n, "jsp.error.missing.tagInfo", n.getQName());
+            }
 
-	    /*
-	     * The bodyconet of a SimpleTag cannot be JSP.
-	     */
-	    if (n.implementsSimpleTag() &&
+            /*
+             * The bodyconet of a SimpleTag cannot be JSP.
+             */
+            if (n.implementsSimpleTag() &&
                 tagInfo.getBodyContent().equalsIgnoreCase(TagInfo.BODY_CONTENT_JSP)) {
                 err.jspError(n, "jsp.error.simpletag.badbodycontent",
                         tagInfo.getTagClassName());
-	    }
+            }
 
-	    /*
-	     * If the tag handler declares in the TLD that it supports dynamic
-	     * attributes, it also must implement the DynamicAttributes
-	     * interface.
-	     */
-	    if (tagInfo.hasDynamicAttributes()
-		    && !n.implementsDynamicAttributes()) {
-		err.jspError(n, "jsp.error.dynamic.attributes.not.implemented",
-			     n.getQName());
-	    }
+            /*
+             * If the tag handler declares in the TLD that it supports dynamic
+             * attributes, it also must implement the DynamicAttributes
+             * interface.
+             */
+            if (tagInfo.hasDynamicAttributes()
+                    && !n.implementsDynamicAttributes()) {
+                err.jspError(n, "jsp.error.dynamic.attributes.not.implemented",
+                             n.getQName());
+            }
 
-	    /*
-	     * Make sure all required attributes are present, either as
+            /*
+             * Make sure all required attributes are present, either as
              * attributes or named attributes (<jsp:attribute>).
- 	     * Also make sure that the same attribute is not specified in
-	     * both attributes or named attributes.
-	     */
-	    TagAttributeInfo[] tldAttrs = tagInfo.getAttributes();
-	    String customActionUri = n.getURI();
-	    Attributes attrs = n.getAttributes();
-	    int attrsSize = (attrs == null) ? 0 : attrs.getLength();
-	    for (int i=0; i<tldAttrs.length; i++) {
-		String attr = null;
-		if (attrs != null) {
-		    attr = attrs.getValue(tldAttrs[i].getName());
-		    if (attr == null) {
-			attr = attrs.getValue(customActionUri,
-					      tldAttrs[i].getName());
-		    }
-		}
-		Node.NamedAttribute na =
-			n.getNamedAttributeNode(tldAttrs[i].getName());
-		
-		if (tldAttrs[i].isRequired() && attr == null && na == null) {
-		    err.jspError(n, "jsp.error.missing_attribute",
-				 tldAttrs[i].getName(), n.getLocalName());
-		}
-		if (attr != null && na != null) {
-		    err.jspError(n, "jsp.error.duplicate.name.jspattribute",
-			tldAttrs[i].getName());
-		}
-	    }
+              * Also make sure that the same attribute is not specified in
+             * both attributes or named attributes.
+             */
+            TagAttributeInfo[] tldAttrs = tagInfo.getAttributes();
+            String customActionUri = n.getURI();
+            Attributes attrs = n.getAttributes();
+            int attrsSize = (attrs == null) ? 0 : attrs.getLength();
+            for (int i=0; i<tldAttrs.length; i++) {
+                String attr = null;
+                if (attrs != null) {
+                    attr = attrs.getValue(tldAttrs[i].getName());
+                    if (attr == null) {
+                        attr = attrs.getValue(customActionUri,
+                                              tldAttrs[i].getName());
+                    }
+                }
+                Node.NamedAttribute na =
+                        n.getNamedAttributeNode(tldAttrs[i].getName());
+                
+                if (tldAttrs[i].isRequired() && attr == null && na == null) {
+                    err.jspError(n, "jsp.error.missing_attribute",
+                                 tldAttrs[i].getName(), n.getLocalName());
+                }
+                if (attr != null && na != null) {
+                    err.jspError(n, "jsp.error.duplicate.name.jspattribute",
+                        tldAttrs[i].getName());
+                }
+            }
 
             Node.Nodes naNodes = n.getNamedAttributeNodes();
-	    int jspAttrsSize = naNodes.size() + attrsSize;
-	    Node.JspAttribute[] jspAttrs = null;
-	    if (jspAttrsSize > 0) {
-		jspAttrs = new Node.JspAttribute[jspAttrsSize];
-	    }
-	    Hashtable tagDataAttrs = new Hashtable(attrsSize);
+            int jspAttrsSize = naNodes.size() + attrsSize;
+            Node.JspAttribute[] jspAttrs = null;
+            if (jspAttrsSize > 0) {
+                jspAttrs = new Node.JspAttribute[jspAttrsSize];
+            }
+            Hashtable tagDataAttrs = new Hashtable(attrsSize);
 
-	    checkXmlAttributes(n, jspAttrs, tagDataAttrs);
+            checkXmlAttributes(n, jspAttrs, tagDataAttrs);
             checkNamedAttributes(n, jspAttrs, attrsSize, tagDataAttrs);
 
-	    TagData tagData = new TagData(tagDataAttrs);
+            TagData tagData = new TagData(tagDataAttrs);
 
-	    // JSP.C1: It is a (translation time) error for an action that
-	    // has one or more variable subelements to have a TagExtraInfo
-	    // class that returns a non-null object.
-	    TagExtraInfo tei = tagInfo.getTagExtraInfo();
-	    if (tei != null
-		    && tei.getVariableInfo(tagData) != null
-		    && tei.getVariableInfo(tagData).length > 0
-		    && tagInfo.getTagVariableInfos().length > 0) {
-		err.jspError("jsp.error.non_null_tei_and_var_subelems",
-			     n.getQName());
-	    }
+            // JSP.C1: It is a (translation time) error for an action that
+            // has one or more variable subelements to have a TagExtraInfo
+            // class that returns a non-null object.
+            TagExtraInfo tei = tagInfo.getTagExtraInfo();
+            if (tei != null
+                    && tei.getVariableInfo(tagData) != null
+                    && tei.getVariableInfo(tagData).length > 0
+                    && tagInfo.getTagVariableInfos().length > 0) {
+                err.jspError("jsp.error.non_null_tei_and_var_subelems",
+                             n.getQName());
+            }
 
-	    n.setTagData(tagData);
-	    n.setJspAttributes(jspAttrs);
+            n.setTagData(tagData);
+            n.setJspAttributes(jspAttrs);
 
-	    visitBody(n);
-	}
+            visitBody(n);
+        }
 
-	public void visit(Node.JspElement n) throws JasperException {
+        public void visit(Node.JspElement n) throws JasperException {
 
-	    Attributes attrs = n.getAttributes();
-	    if (attrs == null) {
-		err.jspError(n, "jsp.error.jspelement.missing.name");
-	    }
-	    int xmlAttrLen = attrs.getLength();
+            Attributes attrs = n.getAttributes();
+            if (attrs == null) {
+                err.jspError(n, "jsp.error.jspelement.missing.name");
+            }
+            int xmlAttrLen = attrs.getLength();
 
             Node.Nodes namedAttrs = n.getNamedAttributeNodes();
 
-	    // XML-style 'name' attribute, which is mandatory, must not be
-	    // included in JspAttribute array
-	    int jspAttrSize = xmlAttrLen-1 + namedAttrs.size();
+            // XML-style 'name' attribute, which is mandatory, must not be
+            // included in JspAttribute array
+            int jspAttrSize = xmlAttrLen-1 + namedAttrs.size();
 
-	    Node.JspAttribute[] jspAttrs = new Node.JspAttribute[jspAttrSize];
-	    int jspAttrIndex = 0;
+            Node.JspAttribute[] jspAttrs = new Node.JspAttribute[jspAttrSize];
+            int jspAttrIndex = 0;
 
-	    // Process XML-style attributes
-	    for (int i=0; i<xmlAttrLen; i++) {
-		if ("name".equals(attrs.getLocalName(i))) {
-		    n.setNameAttribute(getJspAttribute(attrs.getQName(i),
-						       attrs.getURI(i),
-						       attrs.getLocalName(i),
-						       attrs.getValue(i),
-						       java.lang.String.class,
-						       n,
-						       false));
-		} else {
-		    if (jspAttrIndex<jspAttrSize) {
-			jspAttrs[jspAttrIndex++]
-			    = getJspAttribute(attrs.getQName(i),
-					      attrs.getURI(i),
-					      attrs.getLocalName(i),
-					      attrs.getValue(i),
-					      java.lang.Object.class,
-					      n,
-					      false);
-		    }
-		}
-	    }
-	    if (n.getNameAttribute() == null) {
-		err.jspError(n, "jsp.error.jspelement.missing.name");
-	    }
+            // Process XML-style attributes
+            for (int i=0; i<xmlAttrLen; i++) {
+                if ("name".equals(attrs.getLocalName(i))) {
+                    n.setNameAttribute(getJspAttribute(attrs.getQName(i),
+                                                       attrs.getURI(i),
+                                                       attrs.getLocalName(i),
+                                                       attrs.getValue(i),
+                                                       java.lang.String.class,
+                                                       n,
+                                                       false));
+                } else {
+                    if (jspAttrIndex<jspAttrSize) {
+                        jspAttrs[jspAttrIndex++]
+                            = getJspAttribute(attrs.getQName(i),
+                                              attrs.getURI(i),
+                                              attrs.getLocalName(i),
+                                              attrs.getValue(i),
+                                              java.lang.Object.class,
+                                              n,
+                                              false);
+                    }
+                }
+            }
+            if (n.getNameAttribute() == null) {
+                err.jspError(n, "jsp.error.jspelement.missing.name");
+            }
 
-	    // Process named attributes
-	    for (int i=0; i<namedAttrs.size(); i++) {
-                Node.NamedAttribute na = (Node.NamedAttribute) namedAttrs.getNode(i);
-		jspAttrs[jspAttrIndex++] = new Node.JspAttribute(na, false);
-	    }
+            // Process named attributes
+            for (int i=0; i<namedAttrs.size(); i++) {
+                Node.NamedAttribute na =
+                    (Node.NamedAttribute) namedAttrs.getNode(i);
+                jspAttrs[jspAttrIndex++] = new Node.JspAttribute(na, false);
+            }
 
-	    n.setJspAttributes(jspAttrs);
+            n.setJspAttributes(jspAttrs);
 
-	    visitBody(n);
-	}
+            visitBody(n);
+        }
 
-	public void visit(Node.JspOutput n) throws JasperException {
+        public void visit(Node.JspOutput n) throws JasperException {
             JspUtil.checkAttributes("jsp:output", n, jspOutputAttrs, err);
 
-	    if (n.getBody() != null) {
+            if (n.getBody() != null) {
                 err.jspError(n, "jsp.error.jspoutput.nonemptybody");
-	    }
+            }
 
-	    String omitXmlDecl = n.getAttributeValue("omit-xml-declaration");
-	    String doctypeName = n.getAttributeValue("doctype-root-element");
-	    String doctypePublic = n.getAttributeValue("doctype-public");
-	    String doctypeSystem = n.getAttributeValue("doctype-system");
+            String omitXmlDecl = n.getAttributeValue("omit-xml-declaration");
+            String doctypeName = n.getAttributeValue("doctype-root-element");
+            String doctypePublic = n.getAttributeValue("doctype-public");
+            String doctypeSystem = n.getAttributeValue("doctype-system");
 
-	    String omitXmlDeclOld = pageInfo.getOmitXmlDecl();
-	    String doctypeNameOld = pageInfo.getDoctypeName();
-	    String doctypePublicOld = pageInfo.getDoctypePublic();
-	    String doctypeSystemOld = pageInfo.getDoctypeSystem();
+            String omitXmlDeclOld = pageInfo.getOmitXmlDecl();
+            String doctypeNameOld = pageInfo.getDoctypeName();
+            String doctypePublicOld = pageInfo.getDoctypePublic();
+            String doctypeSystemOld = pageInfo.getDoctypeSystem();
 
-	    if (omitXmlDecl != null && omitXmlDeclOld != null &&
-			!omitXmlDecl.equals(omitXmlDeclOld) ) {
+            if (omitXmlDecl != null && omitXmlDeclOld != null &&
+                        !omitXmlDecl.equals(omitXmlDeclOld) ) {
                 err.jspError(n, "jsp.error.jspoutput.conflict",
-			"omit-xml-declaration", omitXmlDeclOld, omitXmlDecl);
-	    }
+                        "omit-xml-declaration", omitXmlDeclOld, omitXmlDecl);
+            }
 
-	    if (doctypeName != null && doctypeNameOld != null &&
-			!doctypeName.equals(doctypeNameOld) ) {
+            if (doctypeName != null && doctypeNameOld != null &&
+                        !doctypeName.equals(doctypeNameOld) ) {
                 err.jspError(n, "jsp.error.jspoutput.conflict",
-			"doctype-root-element", doctypeNameOld, doctypeName);
-	    }
+                        "doctype-root-element", doctypeNameOld, doctypeName);
+            }
 
-	    if (doctypePublic != null && doctypePublicOld != null &&
-			!doctypePublic.equals(doctypePublicOld) ) {
+            if (doctypePublic != null && doctypePublicOld != null &&
+                        !doctypePublic.equals(doctypePublicOld) ) {
                 err.jspError(n, "jsp.error.jspoutput.conflict",
-			"doctype-public", doctypePublicOld, doctypePublic);
-	    }
+                        "doctype-public", doctypePublicOld, doctypePublic);
+            }
 
-	    if (doctypeSystem != null && doctypeSystemOld != null &&
-			!doctypeSystem.equals(doctypeSystemOld) ) {
+            if (doctypeSystem != null && doctypeSystemOld != null &&
+                        !doctypeSystem.equals(doctypeSystemOld) ) {
                 err.jspError(n, "jsp.error.jspoutput.conflict",
-			"doctype-system", doctypeSystemOld, doctypeSystem);
-	    }
+                        "doctype-system", doctypeSystemOld, doctypeSystem);
+            }
 
-	    if (doctypeName == null && doctypeSystem != null ||
-		doctypeName != null && doctypeSystem == null) {
-		err.jspError(n, "jsp.error.jspoutput.doctypenamesystem");
-	    }
+            if (doctypeName == null && doctypeSystem != null ||
+                doctypeName != null && doctypeSystem == null) {
+                err.jspError(n, "jsp.error.jspoutput.doctypenamesystem");
+            }
 
-	    if (doctypePublic != null && doctypeSystem == null) {
-		err.jspError(n, "jsp.error.jspoutput.doctypepulicsystem");
-	    }
+            if (doctypePublic != null && doctypeSystem == null) {
+                err.jspError(n, "jsp.error.jspoutput.doctypepulicsystem");
+            }
 
-	    if (omitXmlDecl != null) {
-		pageInfo.setOmitXmlDecl(omitXmlDecl);
-	    }
-	    if (doctypeName != null) {
-		pageInfo.setDoctypeName(doctypeName);
-	    }
-	    if (doctypeSystem != null) {
-		pageInfo.setDoctypeSystem(doctypeSystem);
-	    }
-	    if (doctypePublic != null) {
-		pageInfo.setDoctypePublic(doctypePublic);
-	    }
-	}
+            if (omitXmlDecl != null) {
+                pageInfo.setOmitXmlDecl(omitXmlDecl);
+            }
+            if (doctypeName != null) {
+                pageInfo.setDoctypeName(doctypeName);
+            }
+            if (doctypeSystem != null) {
+                pageInfo.setDoctypeSystem(doctypeSystem);
+            }
+            if (doctypePublic != null) {
+                pageInfo.setDoctypePublic(doctypePublic);
+            }
+        }
 
-	public void visit(Node.InvokeAction n) throws JasperException {
+        public void visit(Node.InvokeAction n) throws JasperException {
 
             JspUtil.checkAttributes("Invoke", n, invokeAttrs, err);
 
-	    String scope = n.getTextAttribute ("scope");
-	    JspUtil.checkScope(scope, n, err);
+            String scope = n.getTextAttribute ("scope");
+            JspUtil.checkScope(scope, n, err);
 
-	    String var = n.getTextAttribute("var");
-	    String varReader = n.getTextAttribute("varReader");
-	    if (scope != null && var == null && varReader == null) {
-		err.jspError(n, "jsp.error.missing_var_or_varReader");
-	    }
-	    if (var != null && varReader != null) {
-		err.jspError(n, "jsp.error.var_and_varReader");
-	    }
-	}
+            String var = n.getTextAttribute("var");
+            String varReader = n.getTextAttribute("varReader");
+            if (scope != null && var == null && varReader == null) {
+                err.jspError(n, "jsp.error.missing_var_or_varReader");
+            }
+            if (var != null && varReader != null) {
+                err.jspError(n, "jsp.error.var_and_varReader");
+            }
+        }
 
-	public void visit(Node.DoBodyAction n) throws JasperException {
+        public void visit(Node.DoBodyAction n) throws JasperException {
 
             JspUtil.checkAttributes("DoBody", n, doBodyAttrs, err);
 
-	    String scope = n.getTextAttribute ("scope");
-	    JspUtil.checkScope(scope, n, err);
+            String scope = n.getTextAttribute ("scope");
+            JspUtil.checkScope(scope, n, err);
 
-	    String var = n.getTextAttribute("var");
-	    String varReader = n.getTextAttribute("varReader");
-	    if (scope != null && var == null && varReader == null) {
-		err.jspError(n, "jsp.error.missing_var_or_varReader");
-	    }
-	    if (var != null && varReader != null) {
-		err.jspError(n, "jsp.error.var_and_varReader");
-	    }
-	}
+            String var = n.getTextAttribute("var");
+            String varReader = n.getTextAttribute("varReader");
+            if (scope != null && var == null && varReader == null) {
+                err.jspError(n, "jsp.error.missing_var_or_varReader");
+            }
+            if (var != null && varReader != null) {
+                err.jspError(n, "jsp.error.var_and_varReader");
+            }
+        }
 
-	/*
-	 * Make sure the given custom action does not have any invalid
-	 * attributes.
-	 *
-	 * A custom action and its declared attributes always belong to the
-	 * same namespace, which is identified by the prefix name of the
-	 * custom tag invocation. For example, in this invocation:
-	 *
-	 *     <my:test a="1" b="2" c="3"/>, the action
-	 *
-	 * "test" and its attributes "a", "b", and "c" all belong to the
-	 * namespace identified by the prefix "my". The above invocation would
-	 * be equivalent to:
-	 *
-	 *     <my:test my:a="1" my:b="2" my:c="3"/>
-	 *
-	 * An action attribute may have a prefix different from that of the
-	 * action invocation only if the underlying tag handler supports
-	 * dynamic attributes, in which case the attribute with the different
-	 * prefix is considered a dynamic attribute.
-	 */
-	private void checkXmlAttributes(Node.CustomTag n,
-					Node.JspAttribute[] jspAttrs,
-					Hashtable tagDataAttrs)
-	        throws JasperException {
+        /*
+         * Make sure the given custom action does not have any invalid
+         * attributes.
+         *
+         * A custom action and its declared attributes always belong to the
+         * same namespace, which is identified by the prefix name of the
+         * custom tag invocation. For example, in this invocation:
+         *
+         *     <my:test a="1" b="2" c="3"/>, the action
+         *
+         * "test" and its attributes "a", "b", and "c" all belong to the
+         * namespace identified by the prefix "my". The above invocation would
+         * be equivalent to:
+         *
+         *     <my:test my:a="1" my:b="2" my:c="3"/>
+         *
+         * An action attribute may have a prefix different from that of the
+         * action invocation only if the underlying tag handler supports
+         * dynamic attributes, in which case the attribute with the different
+         * prefix is considered a dynamic attribute.
+         */
+        private void checkXmlAttributes(Node.CustomTag n,
+                                        Node.JspAttribute[] jspAttrs,
+                                        Hashtable tagDataAttrs)
+                throws JasperException {
 
-	    TagInfo tagInfo = n.getTagInfo();
-	    if (tagInfo == null) {
-		err.jspError(n, "jsp.error.missing.tagInfo", n.getQName());
-	    }
-	    TagAttributeInfo[] tldAttrs = tagInfo.getAttributes();
-	    Attributes attrs = n.getAttributes();
+            TagInfo tagInfo = n.getTagInfo();
+            if (tagInfo == null) {
+                err.jspError(n, "jsp.error.missing.tagInfo", n.getQName());
+            }
+            TagAttributeInfo[] tldAttrs = tagInfo.getAttributes();
+            Attributes attrs = n.getAttributes();
 
-	    for (int i=0; attrs != null && i<attrs.getLength(); i++) {
-		boolean found = false;
-		for (int j=0; tldAttrs != null && j<tldAttrs.length; j++) {
-		    if (attrs.getLocalName(i).equals(tldAttrs[j].getName())
-			    && (attrs.getURI(i) == null
-				|| attrs.getURI(i).length() == 0
-				|| attrs.getURI(i).equals(n.getURI()))) {
-			if (tldAttrs[j].canBeRequestTime()) {
+            for (int i=0; attrs != null && i<attrs.getLength(); i++) {
+                boolean found = false;
+                for (int j=0; tldAttrs != null && j<tldAttrs.length; j++) {
+                    if (attrs.getLocalName(i).equals(tldAttrs[j].getName())
+                            && (attrs.getURI(i) == null
+                                || attrs.getURI(i).length() == 0
+                                || attrs.getURI(i).equals(n.getURI()))) {
+                        if (tldAttrs[j].canBeRequestTime()) {
                             Class expectedType = String.class;
                             try {
                                 String typeStr = tldAttrs[j].getTypeName();
@@ -932,7 +929,7 @@
                                 }
                                 else if( typeStr != null ) {
                                     expectedType = JspUtil.toClass(typeStr,
-								   loader);
+                                                                   loader);
                                 }
                                 jspAttrs[i]
                                     = getJspAttribute(attrs.getQName(i),
@@ -948,156 +945,156 @@
                                     tldAttrs[j].getName(), 
                                     tldAttrs[j].getTypeName() );
                             }
-			} else {
-			    // Attribute does not accept any expressions.
-			    // Make sure its value does not contain any.
-			    if (isExpression(n, attrs.getValue(i))) {
+                        } else {
+                            // Attribute does not accept any expressions.
+                            // Make sure its value does not contain any.
+                            if (isExpression(n, attrs.getValue(i))) {
                                 err.jspError(n,
-				        "jsp.error.attribute.custom.non_rt_with_expr",
-					     tldAttrs[j].getName());
-			    }
-			    jspAttrs[i]
-				= new Node.JspAttribute(attrs.getQName(i),
-							attrs.getURI(i),
-							attrs.getLocalName(i),
-							attrs.getValue(i),
-							false,
-							null,
-							false);
-			}
-			if (jspAttrs[i].isExpression()) {
-			    tagDataAttrs.put(attrs.getQName(i),
-					     TagData.REQUEST_TIME_VALUE);
-			} else {
-			    tagDataAttrs.put(attrs.getQName(i),
-					     attrs.getValue(i));
-			}
-			found = true;
-			break;
-		    }
-		}
-		if (!found) {
-		    if (tagInfo.hasDynamicAttributes()) {
-			jspAttrs[i] = getJspAttribute(attrs.getQName(i),
-						      attrs.getURI(i),
-						      attrs.getLocalName(i),
-						      attrs.getValue(i),
-						      java.lang.Object.class,
+                                        "jsp.error.attribute.custom.non_rt_with_expr",
+                                             tldAttrs[j].getName());
+                            }
+                            jspAttrs[i]
+                                = new Node.JspAttribute(attrs.getQName(i),
+                                                        attrs.getURI(i),
+                                                        attrs.getLocalName(i),
+                                                        attrs.getValue(i),
+                                                        false,
+                                                        null,
+                                                        false);
+                        }
+                        if (jspAttrs[i].isExpression()) {
+                            tagDataAttrs.put(attrs.getQName(i),
+                                             TagData.REQUEST_TIME_VALUE);
+                        } else {
+                            tagDataAttrs.put(attrs.getQName(i),
+                                             attrs.getValue(i));
+                        }
+                        found = true;
+                        break;
+                    }
+                }
+                if (!found) {
+                    if (tagInfo.hasDynamicAttributes()) {
+                        jspAttrs[i] = getJspAttribute(attrs.getQName(i),
+                                                      attrs.getURI(i),
+                                                      attrs.getLocalName(i),
+                                                      attrs.getValue(i),
+                                                      java.lang.Object.class,
                                                       n,
-						      true);
-		    } else {
-			err.jspError(n, "jsp.error.bad_attribute",
-				     attrs.getQName(i), n.getLocalName());
-		    }
-		}
-	    }
-	}
+                                                      true);
+                    } else {
+                        err.jspError(n, "jsp.error.bad_attribute",
+                                     attrs.getQName(i), n.getLocalName());
+                    }
+                }
+            }
+        }
 
-	/*
-	 * Make sure the given custom action does not have any invalid named
-	 * attributes
-	 */
-	private void checkNamedAttributes(Node.CustomTag n,
-					  Node.JspAttribute[] jspAttrs,
-					  int start,
-					  Hashtable tagDataAttrs)
-	        throws JasperException {
+        /*
+         * Make sure the given custom action does not have any invalid named
+         * attributes
+         */
+        private void checkNamedAttributes(Node.CustomTag n,
+                                          Node.JspAttribute[] jspAttrs,
+                                          int start,
+                                          Hashtable tagDataAttrs)
+                throws JasperException {
 
-	    TagInfo tagInfo = n.getTagInfo();
-	    if (tagInfo == null) {
-		err.jspError(n, "jsp.error.missing.tagInfo", n.getQName());
-	    }
-	    TagAttributeInfo[] tldAttrs = tagInfo.getAttributes();
+            TagInfo tagInfo = n.getTagInfo();
+            if (tagInfo == null) {
+                err.jspError(n, "jsp.error.missing.tagInfo", n.getQName());
+            }
+            TagAttributeInfo[] tldAttrs = tagInfo.getAttributes();
             Node.Nodes naNodes = n.getNamedAttributeNodes();
 
-	    for (int i=0; i<naNodes.size(); i++) {
+            for (int i=0; i<naNodes.size(); i++) {
                 Node.NamedAttribute na = (Node.NamedAttribute)
-		    naNodes.getNode(i);
-		boolean found = false;
-		for (int j=0; j<tldAttrs.length; j++) {
-		    /*
-		     * See above comment about namespace matches. For named
-		     * attributes, we use the prefix instead of URI as the
-		     * match criterion, because in the case of a JSP document,
-		     * we'd have to keep track of which namespaces are in scope
-		     * when parsing a named attribute, in order to determine
-		     * the URI that the prefix of the named attribute's name
-		     * matches to.
-		     */
-		    String attrPrefix = na.getPrefix();
-		    if (na.getLocalName().equals(tldAttrs[j].getName())
-			    && (attrPrefix == null || attrPrefix.length() == 0
-				|| attrPrefix.equals(n.getPrefix()))) {
-			jspAttrs[start + i] = new Node.JspAttribute(na, false);
-			NamedAttributeVisitor nav = null;
-			if (na.getBody() != null) {
-			    nav = new NamedAttributeVisitor();
-			    na.getBody().visit(nav);
-			}
-			if (nav != null && nav.hasDynamicContent()) {
-			    tagDataAttrs.put(na.getName(),
-					     TagData.REQUEST_TIME_VALUE);
-			} else {
-			    tagDataAttrs.put(na.getName(), na.getText());    
-			}
-			found = true;
-			break;
-		    }
-		}
-		if (!found) {
-		    if (tagInfo.hasDynamicAttributes()) {
-			jspAttrs[start + i] = new Node.JspAttribute(na, true);
-		    } else {
-			err.jspError(n, "jsp.error.bad_attribute",
-				     na.getName(), n.getLocalName());
-		    }
-		}
-	    }
-	}
+                    naNodes.getNode(i);
+                boolean found = false;
+                for (int j=0; j<tldAttrs.length; j++) {
+                    /*
+                     * See above comment about namespace matches. For named
+                     * attributes, we use the prefix instead of URI as the
+                     * match criterion, because in the case of a JSP document,
+                     * we'd have to keep track of which namespaces are in scope
+                     * when parsing a named attribute, in order to determine
+                     * the URI that the prefix of the named attribute's name
+                     * matches to.
+                     */
+                    String attrPrefix = na.getPrefix();
+                    if (na.getLocalName().equals(tldAttrs[j].getName())
+                            && (attrPrefix == null || attrPrefix.length() == 0
+                                || attrPrefix.equals(n.getPrefix()))) {
+                        jspAttrs[start + i] = new Node.JspAttribute(na, false);
+                        NamedAttributeVisitor nav = null;
+                        if (na.getBody() != null) {
+                            nav = new NamedAttributeVisitor();
+                            na.getBody().visit(nav);
+                        }
+                        if (nav != null && nav.hasDynamicContent()) {
+                            tagDataAttrs.put(na.getName(),
+                                             TagData.REQUEST_TIME_VALUE);
+                        } else {
+                            tagDataAttrs.put(na.getName(), na.getText());    
+                        }
+                        found = true;
+                        break;
+                    }
+                }
+                if (!found) {
+                    if (tagInfo.hasDynamicAttributes()) {
+                        jspAttrs[start + i] = new Node.JspAttribute(na, true);
+                    } else {
+                        err.jspError(n, "jsp.error.bad_attribute",
+                                     na.getName(), n.getLocalName());
+                    }
+                }
+            }
+        }
 
-	/**
-	 * Preprocess attributes that can be expressions.  Expression
-	 * delimiters are stripped.
+        /**
+         * Preprocess attributes that can be expressions.  Expression
+         * delimiters are stripped.
          * <p>
          * If value is null, checks if there are any
          * NamedAttribute subelements in the tree node, and if so,
          * constructs a JspAttribute out of a child NamedAttribute node.
-	 */
-	private Node.JspAttribute getJspAttribute(String qName,
-						  String uri,
-						  String localName,
-						  String value,
+         */
+        private Node.JspAttribute getJspAttribute(String qName,
+                                                  String uri,
+                                                  String localName,
+                                                  String value,
                                                   Class expectedType,
                                                   Node n,
-						  boolean dynamic)
+                                                  boolean dynamic)
                 throws JasperException {
 
             Node.JspAttribute result = null;
 
-	    // XXX Is it an error to see "%=foo%" in non-Xml page?
-	    // (We won't see "<%=foo%> in xml page because '<' is not a
-	    // valid attribute value in xml).
+            // XXX Is it an error to see "%=foo%" in non-Xml page?
+            // (We won't see "<%=foo%> in xml page because '<' is not a
+            // valid attribute value in xml).
 
             if (value != null) {
                 if (n.getRoot().isXmlSyntax() && value.startsWith("%=")) {
                     result = new Node.JspAttribute(
                                         qName,
-					uri,
-					localName,
-					value.substring(2, value.length()-1),
-					true,
-					null,
-					dynamic);
+                                        uri,
+                                        localName,
+                                        value.substring(2, value.length()-1),
+                                        true,
+                                        null,
+                                        dynamic);
                 }
                 else if(!n.getRoot().isXmlSyntax() && value.startsWith("<%=")) {
                     result = new Node.JspAttribute(
                                         qName,
-					uri,
-					localName,
-					value.substring(3, value.length()-2),
-					true,
-					null,
-					dynamic);
+                                        uri,
+                                        localName,
+                                        value.substring(3, value.length()-2),
+                                        true,
+                                        null,
+                                        dynamic);
                 }
                 else {
                     // The attribute can contain expressions but is not a
@@ -1108,7 +1105,7 @@
                     // expression(s)
                     ELNode.Nodes el = ELParser.parse(value);
                     if (el.containsEL() && !pageInfo.isELIgnored()) {
-	                validateFunctions(el, n);
+                        validateFunctions(el, n);
                         JspUtil.validateExpressions(
                             n.getStart(),
                             value, 
@@ -1118,13 +1115,13 @@
 
                         
                         result = new Node.JspAttribute(qName, uri, localName,
-						       value, false, el,
-						       dynamic);
+                                                       value, false, el,
+                                                       dynamic);
                     } else {
-			value = value.replace(Constants.ESC, '$');
+                        value = value.replace(Constants.HACK_CHAR, '$');
                         result = new Node.JspAttribute(qName, uri, localName,
-						       value, false, null,
-						       dynamic);
+                                                       value, false, null,
+                                                       dynamic);
                     }
                 }
             }
@@ -1137,263 +1134,263 @@
                     n.getNamedAttributeNode( qName );
                 if( namedAttributeNode != null ) {
                     result = new Node.JspAttribute(namedAttributeNode,
-						   dynamic);
+                                                   dynamic);
                 }
             }
 
             return result;
         }
 
-	/*
-	 * Checks to see if the given attribute value represents a runtime or
-	 * EL expression.
-	 */
-	private boolean isExpression(Node n, String value) {
-	    if ((n.getRoot().isXmlSyntax() && value.startsWith("%="))
-		    || (!n.getRoot().isXmlSyntax() && value.startsWith("<%="))
-   		    || (value.indexOf("${") != -1 && !pageInfo.isELIgnored()))
-		return true;
-	    else
-		return false;
-	}
+        /*
+         * Checks to see if the given attribute value represents a runtime or
+         * EL expression.
+         */
+        private boolean isExpression(Node n, String value) {
+            if ((n.getRoot().isXmlSyntax() && value.startsWith("%="))
+                    || (!n.getRoot().isXmlSyntax() && value.startsWith("<%="))
+                    || (value.indexOf("${") != -1 && !pageInfo.isELIgnored()))
+                return true;
+            else
+                return false;
+        }
 
-	/*
-	 * Throws exception if the value of the attribute with the given
-	 * name in the given node is given as an RT or EL expression, but the
-	 * spec requires a static value.
-	 */
-	private void throwErrorIfExpression(Node n, String attrName,
-					    String actionName)
-	            throws JasperException {
-	    if (n.getAttributes() != null
-		    && n.getAttributes().getValue(attrName) != null
-		    && isExpression(n, n.getAttributes().getValue(attrName))) {
-		err.jspError(n,
-			     "jsp.error.attribute.standard.non_rt_with_expr",
-			     attrName, actionName);
-	    }
-	}
+        /*
+         * Throws exception if the value of the attribute with the given
+         * name in the given node is given as an RT or EL expression, but the
+         * spec requires a static value.
+         */
+        private void throwErrorIfExpression(Node n, String attrName,
+                                            String actionName)
+                    throws JasperException {
+            if (n.getAttributes() != null
+                    && n.getAttributes().getValue(attrName) != null
+                    && isExpression(n, n.getAttributes().getValue(attrName))) {
+                err.jspError(n,
+                             "jsp.error.attribute.standard.non_rt_with_expr",
+                             attrName, actionName);
+            }
+        }
 
-	private static class NamedAttributeVisitor extends Node.Visitor {
-	    private boolean hasDynamicContent;
+        private static class NamedAttributeVisitor extends Node.Visitor {
+            private boolean hasDynamicContent;
 
-	    public void doVisit(Node n) throws JasperException {
-		if (!(n instanceof Node.JspText)
-		        && !(n instanceof Node.TemplateText)) {
-		    hasDynamicContent = true;
-		}
-		visitBody(n);
-	    }
-	    
-	    public boolean hasDynamicContent() {
-		return hasDynamicContent;
-	    }
-	}
+            public void doVisit(Node n) throws JasperException {
+                if (!(n instanceof Node.JspText)
+                        && !(n instanceof Node.TemplateText)) {
+                    hasDynamicContent = true;
+                }
+                visitBody(n);
+            }
+            
+            public boolean hasDynamicContent() {
+                return hasDynamicContent;
+            }
+        }
 
-	private String findUri(String prefix, Node n) {
+        private String findUri(String prefix, Node n) {
 
-	    for (Node p = n; p != null; p = p.getParent()) {
-		Attributes attrs = p.getTaglibAttributes();
-		if (attrs == null) {
-		    continue;
-		}
-		for (int i = 0; i < attrs.getLength(); i++) {
-		    String name = attrs.getQName(i);
-		    int k = name.indexOf(':');
-		    if (prefix == null && k < 0) {
-			// prefix not specified and a default ns found
-			return attrs.getValue(i);
-		    }   
-		    if (prefix != null && k >= 0 &&
-				prefix.equals(name.substring(k+1))) {
-			return attrs.getValue(i);
-		    }
-		}
-	    }
-	    return null;
-	}
+            for (Node p = n; p != null; p = p.getParent()) {
+                Attributes attrs = p.getTaglibAttributes();
+                if (attrs == null) {
+                    continue;
+                }
+                for (int i = 0; i < attrs.getLength(); i++) {
+                    String name = attrs.getQName(i);
+                    int k = name.indexOf(':');
+                    if (prefix == null && k < 0) {
+                        // prefix not specified and a default ns found
+                        return attrs.getValue(i);
+                    }   
+                    if (prefix != null && k >= 0 &&
+                                prefix.equals(name.substring(k+1))) {
+                        return attrs.getValue(i);
+                    }
+                }
+            }
+            return null;
+        }
 
-	/**
-	 * Validate functions in EL expressions
-	 */
-	private void validateFunctions(ELNode.Nodes el, Node n) 
-		throws JasperException {
+        /**
+         * Validate functions in EL expressions
+         */
+        private void validateFunctions(ELNode.Nodes el, Node n) 
+                throws JasperException {
 
-	    class FVVisitor extends ELNode.Visitor {
+            class FVVisitor extends ELNode.Visitor {
 
-		Node n;
+                Node n;
 
-		FVVisitor(Node n) {
-		    this.n = n;
-		}
+                FVVisitor(Node n) {
+                    this.n = n;
+                }
 
-		public void visit(ELNode.Function func) throws JasperException {
-		    String prefix = func.getPrefix();
-		    String function = func.getName();
-		    String uri = null;
+                public void visit(ELNode.Function func) throws JasperException {
+                    String prefix = func.getPrefix();
+                    String function = func.getName();
+                    String uri = null;
 
-		    if (n.getRoot().isXmlSyntax()) {
-		        uri = findUri(prefix, n);
-		    } else if (prefix != null) {
-			uri = pageInfo.getURI(prefix);
-		    }
+                    if (n.getRoot().isXmlSyntax()) {
+                        uri = findUri(prefix, n);
+                    } else if (prefix != null) {
+                        uri = pageInfo.getURI(prefix);
+                    }
 
-		    if (uri == null) {
-			if (prefix == null) {
-			    err.jspError(n, "jsp.error.noFunctionPrefix",
-				function);
-			}
-			else {
-			    err.jspError(n,
-				"jsp.error.attribute.invalidPrefix", prefix);
-			}
-		    }
-		    TagLibraryInfo taglib = pageInfo.getTaglib(uri);
-		    FunctionInfo funcInfo = null;
-		    if (taglib != null) {
-			funcInfo = taglib.getFunction(function);
-		    }
-		    if (funcInfo == null) {
-			err.jspError(n, "jsp.error.noFunction", function);
-		    }
-		    // Skip TLD function uniqueness check.  Done by Schema ?
-		    func.setUri(uri);
-		    func.setFunctionInfo(funcInfo);
-		    processSignature(func);
-		}
-	    }
+                    if (uri == null) {
+                        if (prefix == null) {
+                            err.jspError(n, "jsp.error.noFunctionPrefix",
+                                function);
+                        }
+                        else {
+                            err.jspError(n,
+                                "jsp.error.attribute.invalidPrefix", prefix);
+                        }
+                    }
+                    TagLibraryInfo taglib = pageInfo.getTaglib(uri);
+                    FunctionInfo funcInfo = null;
+                    if (taglib != null) {
+                        funcInfo = taglib.getFunction(function);
+                    }
+                    if (funcInfo == null) {
+                        err.jspError(n, "jsp.error.noFunction", function);
+                    }
+                    // Skip TLD function uniqueness check.  Done by Schema ?
+                    func.setUri(uri);
+                    func.setFunctionInfo(funcInfo);
+                    processSignature(func);
+                }
+            }
 
-	    el.visit(new FVVisitor(n));
-	}
+            el.visit(new FVVisitor(n));
+        }
 
-	private void processSignature(ELNode.Function func)
-		throws JasperException {
-	    func.setMethodName(getMethod(func));
-	    func.setParameters(getParameters(func));
-	}
+        private void processSignature(ELNode.Function func)
+                throws JasperException {
+            func.setMethodName(getMethod(func));
+            func.setParameters(getParameters(func));
+        }
 
-	/**
-	 * Get the method name from the signature.
-	 */
-	private String getMethod(ELNode.Function func)
-		throws JasperException {
-	    FunctionInfo funcInfo = func.getFunctionInfo();
-	    String signature = funcInfo.getFunctionSignature();
-	    
-	    int start = signature.indexOf(' ');
-	    if (start < 0) {
-		err.jspError("jsp.error.tld.fn.invalid.signature",
-			     func.getPrefix(), func.getName());
-	    }
-	    int end = signature.indexOf('(');
-	    if (end < 0) {
-		err.jspError("jsp.error.tld.fn.invalid.signature.parenexpected",
-			     func.getPrefix(), func.getName());
-	    }
-	    return signature.substring(start+1, end).trim();
-	}
+        /**
+         * Get the method name from the signature.
+         */
+        private String getMethod(ELNode.Function func)
+                throws JasperException {
+            FunctionInfo funcInfo = func.getFunctionInfo();
+            String signature = funcInfo.getFunctionSignature();
+            
+            int start = signature.indexOf(' ');
+            if (start < 0) {
+                err.jspError("jsp.error.tld.fn.invalid.signature",
+                             func.getPrefix(), func.getName());
+            }
+            int end = signature.indexOf('(');
+            if (end < 0) {
+                err.jspError("jsp.error.tld.fn.invalid.signature.parenexpected",
+                             func.getPrefix(), func.getName());
+            }
+            return signature.substring(start+1, end).trim();
+        }
 
-	/**
-	 * Get the parameters types from the function signature.
-	 * @return An array of parameter class names
-	 */
-	private String[] getParameters(ELNode.Function func) 
-		throws JasperException {
-	    FunctionInfo funcInfo = func.getFunctionInfo();
-	    String signature = funcInfo.getFunctionSignature();
-	    ArrayList params = new ArrayList();
-	    // Signature is of the form
-	    // <return-type> S <method-name S? '('
-	    // < <arg-type> ( ',' <arg-type> )* )? ')'
-	    int start = signature.indexOf('(') + 1;
-	    boolean lastArg = false;
-	    while (true) {
-		int p = signature.indexOf(',', start);
-		if (p < 0) {
-		    p = signature.indexOf(')', start);
-		    if (p < 0) {
-			err.jspError("jsp.error.tld.fn.invalid.signature",
-				     func.getPrefix(), func.getName());
-		    }
-		    lastArg = true;
-		}
+        /**
+         * Get the parameters types from the function signature.
+         * @return An array of parameter class names
+         */
+        private String[] getParameters(ELNode.Function func) 
+                throws JasperException {
+            FunctionInfo funcInfo = func.getFunctionInfo();
+            String signature = funcInfo.getFunctionSignature();
+            ArrayList params = new ArrayList();
+            // Signature is of the form
+            // <return-type> S <method-name S? '('
+            // < <arg-type> ( ',' <arg-type> )* )? ')'
+            int start = signature.indexOf('(') + 1;
+            boolean lastArg = false;
+            while (true) {
+                int p = signature.indexOf(',', start);
+                if (p < 0) {
+                    p = signature.indexOf(')', start);
+                    if (p < 0) {
+                        err.jspError("jsp.error.tld.fn.invalid.signature",
+                                     func.getPrefix(), func.getName());
+                    }
+                    lastArg = true;
+                }
                 String arg = signature.substring(start, p).trim();
                 if (!"".equals(arg)) {
                     params.add(arg);
                 }
-		if (lastArg) {
-		    break;
-		}
-		start = p+1;
-	    }
-	    return (String[]) params.toArray(new String[params.size()]);
-	}
+                if (lastArg) {
+                    break;
+                }
+                start = p+1;
+            }
+            return (String[]) params.toArray(new String[params.size()]);
+        }
 
-	private FunctionMapper getFunctionMapper(ELNode.Nodes el)
-		throws JasperException {
+        private FunctionMapper getFunctionMapper(ELNode.Nodes el)
+                throws JasperException {
 
-	    class ValidateFunctionMapper implements FunctionMapper {
+            class ValidateFunctionMapper implements FunctionMapper {
 
-		private HashMap fnmap = new java.util.HashMap();
-		public void mapFunction(String fnQName, Method method) {
-		    fnmap.put(fnQName, method);
-		}
+                private HashMap fnmap = new java.util.HashMap();
+                public void mapFunction(String fnQName, Method method) {
+                    fnmap.put(fnQName, method);
+                }
 
-		public Method resolveFunction(String prefix,
-					      String localName) {
-		    return (Method) this.fnmap.get(prefix + ":" + localName);
-		}
-	    }
+                public Method resolveFunction(String prefix,
+                                              String localName) {
+                    return (Method) this.fnmap.get(prefix + ":" + localName);
+                }
+            }
 
-	    class MapperELVisitor extends ELNode.Visitor {
-		ValidateFunctionMapper fmapper;
+            class MapperELVisitor extends ELNode.Visitor {
+                ValidateFunctionMapper fmapper;
 
-		MapperELVisitor(ValidateFunctionMapper fmapper) {
-		    this.fmapper = fmapper;
-		}
+                MapperELVisitor(ValidateFunctionMapper fmapper) {
+                    this.fmapper = fmapper;
+                }
 
-		public void visit(ELNode.Function n) throws JasperException {
+                public void visit(ELNode.Function n) throws JasperException {
 
-		    Class c = null;
-		    Method method = null;
-		    try {
-			c = loader.loadClass(
-				n.getFunctionInfo().getFunctionClass());
-		    } catch (ClassNotFoundException e) {
-			err.jspError("jsp.error.function.classnotfound",
-				     n.getFunctionInfo().getFunctionClass(),
-				     n.getPrefix() + ':' + n.getName(),
-				     e.getMessage());
-		    }
-		    String paramTypes[] = n.getParameters();
-		    int size = paramTypes.length;
-		    Class params[] = new Class[size];
-		    int i = 0;
-		    try {
-			for (i = 0; i < size; i++) {
-			    params[i] = JspUtil.toClass(paramTypes[i], loader);
-			}
-			method = c.getDeclaredMethod(n.getMethodName(),
-						     params);
-		    } catch (ClassNotFoundException e) {
-			err.jspError("jsp.error.signature.classnotfound",
-				     paramTypes[i],
-				     n.getPrefix() + ':' + n.getName(),
-				     e.getMessage());
-		    } catch (NoSuchMethodException e ) {
-			err.jspError("jsp.error.noFunctionMethod",
-				     n.getMethodName(), n.getName(),
-				     c.getName());
-		    }
-		    fmapper.mapFunction(n.getPrefix() + ':' + n.getName(),
-					method);
-		}
-	    }
+                    Class c = null;
+                    Method method = null;
+                    try {
+                        c = loader.loadClass(
+                                n.getFunctionInfo().getFunctionClass());
+                    } catch (ClassNotFoundException e) {
+                        err.jspError("jsp.error.function.classnotfound",
+                                     n.getFunctionInfo().getFunctionClass(),
+                                     n.getPrefix() + ':' + n.getName(),
+                                     e.getMessage());
+                    }
+                    String paramTypes[] = n.getParameters();
+                    int size = paramTypes.length;
+                    Class params[] = new Class[size];
+                    int i = 0;
+                    try {
+                        for (i = 0; i < size; i++) {
+                            params[i] = JspUtil.toClass(paramTypes[i], loader);
+                        }
+                        method = c.getDeclaredMethod(n.getMethodName(),
+                                                     params);
+                    } catch (ClassNotFoundException e) {
+                        err.jspError("jsp.error.signature.classnotfound",
+                                     paramTypes[i],
+                                     n.getPrefix() + ':' + n.getName(),
+                                     e.getMessage());
+                    } catch (NoSuchMethodException e ) {
+                        err.jspError("jsp.error.noFunctionMethod",
+                                     n.getMethodName(), n.getName(),
+                                     c.getName());
+                    }
+                    fmapper.mapFunction(n.getPrefix() + ':' + n.getName(),
+                                        method);
+                }
+            }
 
-	    ValidateFunctionMapper fmapper = new ValidateFunctionMapper();
-	    el.visit(new MapperELVisitor(fmapper));
-	    return fmapper;
-	}
+            ValidateFunctionMapper fmapper = new ValidateFunctionMapper();
+            el.visit(new MapperELVisitor(fmapper));
+            return fmapper;
+        }
     } // End of ValidateVisitor
 
     /**
@@ -1401,104 +1398,102 @@
      */
     static class TagExtraInfoVisitor extends Node.Visitor {
 
-	private PageInfo pageInfo;
-	private ErrorDispatcher err;
+        private ErrorDispatcher err;
 
-	/*
-	 * Constructor
-	 */
-	TagExtraInfoVisitor(Compiler compiler) {
-	    this.pageInfo = compiler.getPageInfo();
-	    this.err = compiler.getErrorDispatcher();
-	}
+        /*
+         * Constructor
+         */
+        TagExtraInfoVisitor(Compiler compiler) {
+            this.err = compiler.getErrorDispatcher();
+        }
 
-	public void visit(Node.CustomTag n) throws JasperException {
-	    TagInfo tagInfo = n.getTagInfo();
-	    if (tagInfo == null) {
-		err.jspError(n, "jsp.error.missing.tagInfo", n.getQName());
-	    }
+        public void visit(Node.CustomTag n) throws JasperException {
+            TagInfo tagInfo = n.getTagInfo();
+            if (tagInfo == null) {
+                err.jspError(n, "jsp.error.missing.tagInfo", n.getQName());
+            }
 
-	    ValidationMessage[] errors = tagInfo.validate(n.getTagData());
+            ValidationMessage[] errors = tagInfo.validate(n.getTagData());
             if (errors != null && errors.length != 0) {
-		StringBuffer errMsg = new StringBuffer();
+                StringBuffer errMsg = new StringBuffer();
                 errMsg.append("<h3>");
-                errMsg.append(Localizer.getMessage("jsp.error.tei.invalid.attributes",
-						   n.getQName()));
+                errMsg.append(Localizer.getMessage(
+                        "jsp.error.tei.invalid.attributes", n.getQName()));
                 errMsg.append("</h3>");
                 for (int i=0; i<errors.length; i++) {
                     errMsg.append("<p>");
-		    if (errors[i].getId() != null) {
-			errMsg.append(errors[i].getId());
-			errMsg.append(": ");
-		    }
+                    if (errors[i].getId() != null) {
+                        errMsg.append(errors[i].getId());
+                        errMsg.append(": ");
+                    }
                     errMsg.append(errors[i].getMessage());
                     errMsg.append("</p>");
                 }
 
-		err.jspError(n, errMsg.toString());
+                err.jspError(n, errMsg.toString());
             }
 
-	    visitBody(n);
-	}
+            visitBody(n);
+        }
     }
 
     public static void validate(Compiler compiler,
-				Node.Nodes page) throws JasperException {
+                                Node.Nodes page) throws JasperException {
 
-	/*
-	 * Visit the page/tag directives first, as they are global to the page
-	 * and are position independent.
-	 */
-	page.visit(new DirectiveVisitor(compiler));
+        /*
+         * Visit the page/tag directives first, as they are global to the page
+         * and are position independent.
+         */
+        page.visit(new DirectiveVisitor(compiler));
 
-	// Determine the default output content type
-	PageInfo pageInfo = compiler.getPageInfo();
-	String contentType = pageInfo.getContentType();
+        // Determine the default output content type
+        PageInfo pageInfo = compiler.getPageInfo();
+        String contentType = pageInfo.getContentType();
 
-	if (contentType == null || contentType.indexOf("charset=") < 0) {
-	    boolean isXml = page.getRoot().isXmlSyntax();
-	    String defaultType;
-	    if (contentType == null) {
-		defaultType = isXml? "text/xml": "text/html";
-	    } else {
-		defaultType = contentType;
-	    }
+        if (contentType == null || contentType.indexOf("charset=") < 0) {
+            boolean isXml = page.getRoot().isXmlSyntax();
+            String defaultType;
+            if (contentType == null) {
+                defaultType = isXml? "text/xml": "text/html";
+            } else {
+                defaultType = contentType;
+            }
 
-	    String charset = null;
-	    if (isXml) {
-		charset = "UTF-8";
-	    } else {
-		if (!page.getRoot().isDefaultPageEncoding()) {
-		    charset = page.getRoot().getPageEncoding();
-		}
-	    }
+            String charset = null;
+            if (isXml) {
+                charset = "UTF-8";
+            } else {
+                if (!page.getRoot().isDefaultPageEncoding()) {
+                    charset = page.getRoot().getPageEncoding();
+                }
+            }
 
-	    if (charset != null) {
-		pageInfo.setContentType(defaultType + ";charset=" + charset);
-	    } else {
-		pageInfo.setContentType(defaultType);
-	    }
-	}
+            if (charset != null) {
+                pageInfo.setContentType(defaultType + ";charset=" + charset);
+            } else {
+                pageInfo.setContentType(defaultType);
+            }
+        }
 
-	/*
-	 * Validate all other nodes.
-	 * This validation step includes checking a custom tag's mandatory and
-	 * optional attributes against information in the TLD (first validation
-	 * step for custom tags according to JSP.10.5).
-	 */
-	page.visit(new ValidateVisitor(compiler));
+        /*
+         * Validate all other nodes.
+         * This validation step includes checking a custom tag's mandatory and
+         * optional attributes against information in the TLD (first validation
+         * step for custom tags according to JSP.10.5).
+         */
+        page.visit(new ValidateVisitor(compiler));
 
-	/*
-	 * Invoke TagLibraryValidator classes of all imported tags
-	 * (second validation step for custom tags according to JSP.10.5).
-	 */
-	validateXmlView(new PageDataImpl(page, compiler), compiler);
+        /*
+         * Invoke TagLibraryValidator classes of all imported tags
+         * (second validation step for custom tags according to JSP.10.5).
+         */
+        validateXmlView(new PageDataImpl(page, compiler), compiler);
 
-	/*
-	 * Invoke TagExtraInfo method isValid() for all imported tags 
-	 * (third validation step for custom tags according to JSP.10.5).
-	 */
-	page.visit(new TagExtraInfoVisitor(compiler));
+        /*
+         * Invoke TagExtraInfo method isValid() for all imported tags 
+         * (third validation step for custom tags according to JSP.10.5).
+         */
+        page.visit(new TagExtraInfoVisitor(compiler));
 
     }
 
@@ -1511,43 +1506,44 @@
      * imported tag libraries.
      */
     private static void validateXmlView(PageData xmlView, Compiler compiler)
-	        throws JasperException {
+                throws JasperException {
 
-	StringBuffer errMsg = null;
-	ErrorDispatcher errDisp = compiler.getErrorDispatcher();
+        StringBuffer errMsg = null;
+        ErrorDispatcher errDisp = compiler.getErrorDispatcher();
 
-	for (Iterator iter=compiler.getPageInfo().getTaglibs().iterator();
-	         iter.hasNext(); ) {
+        for (Iterator iter=compiler.getPageInfo().getTaglibs().iterator();
+                 iter.hasNext(); ) {
 
-	    Object o = iter.next();
-	    if (!(o instanceof TagLibraryInfoImpl))
-		continue;
-	    TagLibraryInfoImpl tli = (TagLibraryInfoImpl) o;
+            Object o = iter.next();
+            if (!(o instanceof TagLibraryInfoImpl))
+                continue;
+            TagLibraryInfoImpl tli = (TagLibraryInfoImpl) o;
 
-	    ValidationMessage[] errors = tli.validate(xmlView);
+            ValidationMessage[] errors = tli.validate(xmlView);
             if ((errors != null) && (errors.length != 0)) {
                 if (errMsg == null) {
-		    errMsg = new StringBuffer();
-		}
+                    errMsg = new StringBuffer();
+                }
                 errMsg.append("<h3>");
                 errMsg.append(Localizer.getMessage("jsp.error.tlv.invalid.page",
-						   tli.getShortName(), compiler.getPageInfo().getJspFile()));
+                        tli.getShortName(),
+                        compiler.getPageInfo().getJspFile()));
                 errMsg.append("</h3>");
                 for (int i=0; i<errors.length; i++) {
-		    if (errors[i] != null) {
-			errMsg.append("<p>");
-			errMsg.append(errors[i].getId());
-			errMsg.append(": ");
-			errMsg.append(errors[i].getMessage());
-			errMsg.append("</p>");
-		    }
+                    if (errors[i] != null) {
+                        errMsg.append("<p>");
+                        errMsg.append(errors[i].getId());
+                        errMsg.append(": ");
+                        errMsg.append(errors[i].getMessage());
+                        errMsg.append("</p>");
+                    }
                 }
             }
         }
 
-	if (errMsg != null) {
+        if (errMsg != null) {
             errDisp.jspError(errMsg.toString());
-	}
+        }
     }
 }
 

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/tagplugin/TagPlugin.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/tagplugin/TagPlugin.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/tagplugin/TagPlugin.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/tagplugin/TagPluginContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/tagplugin/TagPluginContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/compiler/tagplugin/TagPluginContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/resources/LocalStrings.properties
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/resources/LocalStrings.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/resources/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,4 +1,4 @@
-# $Id: LocalStrings.properties 349479 2005-11-28 19:44:47Z yoavs $
+# $Id: LocalStrings.properties 451835 2006-10-01 23:02:49Z markt $
 #
 # Default localized string information
 # Localized this the Default Locale as is en_US
@@ -107,6 +107,8 @@
 jsp.error.beans.nomethod=Cannot find a method to read property ''{0}'' in a bean of type ''{1}''
 jsp.error.beans.nomethod.setproperty=Can''t find a method to write property ''{0}'' of type ''{1}'' in a bean of type ''{2}''
 jsp.error.beans.noproperty=Cannot find any information on property ''{0}'' in a bean of type ''{1}''
+jsp.error.beans.property.conversion=Unable to convert string \"{0}\" to class \"{1}\" for attribute \"{2}\": {3}
+jsp.error.beans.propertyeditor.notregistered=Property Editor not registered with the PropertyEditorManager
 jsp.error.beans.setproperty.noindexset=Cannot set indexed property
 jsp.error.include.tag=Invalid jsp:include tag
 jsp.error.include.noflush=jsp:include needs to have \"flush=true\"

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/BodyContentImpl.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/BodyContentImpl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/BodyContentImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/HttpJspBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/HttpJspBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/HttpJspBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspContextWrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspContextWrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspContextWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspFactoryImpl.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspFactoryImpl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspFactoryImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspFragmentHelper.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspFragmentHelper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspFragmentHelper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspRuntimeLibrary.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspRuntimeLibrary.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspRuntimeLibrary.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -54,34 +55,34 @@
 public class JspRuntimeLibrary {
     
     private static final String SERVLET_EXCEPTION
-	= "javax.servlet.error.exception";
+        = "javax.servlet.error.exception";
     private static final String JSP_EXCEPTION
-	= "javax.servlet.jsp.jspException";
+        = "javax.servlet.jsp.jspException";
 
     protected static class PrivilegedIntrospectHelper
-	implements PrivilegedExceptionAction {
+        implements PrivilegedExceptionAction {
 
-	private Object bean;
-	private String prop;
-	private String value;
-	private ServletRequest request;
-	private String param;
-	private boolean ignoreMethodNF;
+        private Object bean;
+        private String prop;
+        private String value;
+        private ServletRequest request;
+        private String param;
+        private boolean ignoreMethodNF;
 
         PrivilegedIntrospectHelper(Object bean, String prop,
                                    String value, ServletRequest request,
                                    String param, boolean ignoreMethodNF)
         {
-	    this.bean = bean;
-	    this.prop = prop;
-	    this.value = value;
+            this.bean = bean;
+            this.prop = prop;
+            this.value = value;
             this.request = request;
-	    this.param = param;
-	    this.ignoreMethodNF = ignoreMethodNF;
+            this.param = param;
+            this.ignoreMethodNF = ignoreMethodNF;
         }
          
         public Object run() throws JasperException {
-	    internalIntrospecthelper(
+            internalIntrospecthelper(
                 bean,prop,value,request,param,ignoreMethodNF);
             return null;
         }
@@ -97,134 +98,134 @@
      * variable is initialized.
      */
     public static Throwable getThrowable(ServletRequest request) {
-	Throwable error = (Throwable) request.getAttribute(SERVLET_EXCEPTION);
-	if (error == null) {
-	    error = (Throwable) request.getAttribute(JSP_EXCEPTION);
-	    if (error != null) {
-		/*
-		 * The only place that sets JSP_EXCEPTION is
-		 * PageContextImpl.handlePageException(). It really should set
-		 * SERVLET_EXCEPTION, but that would interfere with the 
-		 * ErrorReportValve. Therefore, if JSP_EXCEPTION is set, we
-		 * need to set SERVLET_EXCEPTION.
-		 */
-		request.setAttribute(SERVLET_EXCEPTION, error);
-	    }
-	}
+        Throwable error = (Throwable) request.getAttribute(SERVLET_EXCEPTION);
+        if (error == null) {
+            error = (Throwable) request.getAttribute(JSP_EXCEPTION);
+            if (error != null) {
+                /*
+                 * The only place that sets JSP_EXCEPTION is
+                 * PageContextImpl.handlePageException(). It really should set
+                 * SERVLET_EXCEPTION, but that would interfere with the 
+                 * ErrorReportValve. Therefore, if JSP_EXCEPTION is set, we
+                 * need to set SERVLET_EXCEPTION.
+                 */
+                request.setAttribute(SERVLET_EXCEPTION, error);
+            }
+        }
 
-	return error;
+        return error;
     }
 
     public static boolean coerceToBoolean(String s) {
-	if (s == null || s.length() == 0)
-	    return false;
-	else
-	    return Boolean.valueOf(s).booleanValue();
+        if (s == null || s.length() == 0)
+            return false;
+        else
+            return Boolean.valueOf(s).booleanValue();
     }
 
     public static byte coerceToByte(String s) {
-	if (s == null || s.length() == 0)
-	    return (byte) 0;
-	else
-	    return Byte.valueOf(s).byteValue();
+        if (s == null || s.length() == 0)
+            return (byte) 0;
+        else
+            return Byte.valueOf(s).byteValue();
     }
 
     public static char coerceToChar(String s) {
-	if (s == null || s.length() == 0) {
-	    return (char) 0;
-	} else {
-	    // this trick avoids escaping issues
-	    return (char)(int) s.charAt(0);
-	}
+        if (s == null || s.length() == 0) {
+            return (char) 0;
+        } else {
+            // this trick avoids escaping issues
+            return (char)(int) s.charAt(0);
+        }
     }
 
     public static double coerceToDouble(String s) {
-	if (s == null || s.length() == 0)
-	    return (double) 0;
-	else
-	    return Double.valueOf(s).doubleValue();
+        if (s == null || s.length() == 0)
+            return (double) 0;
+        else
+            return Double.valueOf(s).doubleValue();
     }
 
     public static float coerceToFloat(String s) {
-	if (s == null || s.length() == 0)
-	    return (float) 0;
-	else
-	    return Float.valueOf(s).floatValue();
+        if (s == null || s.length() == 0)
+            return (float) 0;
+        else
+            return Float.valueOf(s).floatValue();
     }
 
     public static int coerceToInt(String s) {
-	if (s == null || s.length() == 0)
-	    return 0;
-	else
-	    return Integer.valueOf(s).intValue();
+        if (s == null || s.length() == 0)
+            return 0;
+        else
+            return Integer.valueOf(s).intValue();
     }
 
     public static short coerceToShort(String s) {
-	if (s == null || s.length() == 0)
-	    return (short) 0;
-	else
-	    return Short.valueOf(s).shortValue();
+        if (s == null || s.length() == 0)
+            return (short) 0;
+        else
+            return Short.valueOf(s).shortValue();
     }
 
     public static long coerceToLong(String s) {
-	if (s == null || s.length() == 0)
-	    return (long) 0;
-	else
-	    return Long.valueOf(s).longValue();
+        if (s == null || s.length() == 0)
+            return (long) 0;
+        else
+            return Long.valueOf(s).longValue();
     }
 
     public static Object coerce(String s, Class target) {
 
-	boolean isNullOrEmpty = (s == null || s.length() == 0);
+        boolean isNullOrEmpty = (s == null || s.length() == 0);
 
-	if (target == Boolean.class) {
-	    if (isNullOrEmpty) {
-		s = "false";
-	    }
-	    return new Boolean(s);
-	} else if (target == Byte.class) {
-	    if (isNullOrEmpty)
-		return new Byte((byte) 0);
-	    else
-		return new Byte(s);
-	} else if (target == Character.class) {
-	    if (isNullOrEmpty)
-		return new Character((char) 0);
-	    else 
-		return new Character(s.charAt(0));
-	} else if (target == Double.class) {
-	    if (isNullOrEmpty)
-		return new Double(0);
-	    else
-		return new Double(s);
-	} else if (target == Float.class) {
-	    if (isNullOrEmpty)
-		return new Float(0);
-	    else
-		return new Float(s);
-	} else if (target == Integer.class) {
-	    if (isNullOrEmpty)
-		return new Integer(0);
-	    else
-		return new Integer(s);
-	} else if (target == Short.class) {
-	    if (isNullOrEmpty)
-		return new Short((short) 0);
-	    else
-		return new Short(s);
-	} else if (target == Long.class) {
-	    if (isNullOrEmpty)
-		return new Long(0);
-	    else
-		return new Long(s);
-	} else {
-	    return null;
-	}
+        if (target == Boolean.class) {
+            if (isNullOrEmpty) {
+                s = "false";
+            }
+            return new Boolean(s);
+        } else if (target == Byte.class) {
+            if (isNullOrEmpty)
+                return new Byte((byte) 0);
+            else
+                return new Byte(s);
+        } else if (target == Character.class) {
+            if (isNullOrEmpty)
+                return new Character((char) 0);
+            else 
+                return new Character(s.charAt(0));
+        } else if (target == Double.class) {
+            if (isNullOrEmpty)
+                return new Double(0);
+            else
+                return new Double(s);
+        } else if (target == Float.class) {
+            if (isNullOrEmpty)
+                return new Float(0);
+            else
+                return new Float(s);
+        } else if (target == Integer.class) {
+            if (isNullOrEmpty)
+                return new Integer(0);
+            else
+                return new Integer(s);
+        } else if (target == Short.class) {
+            if (isNullOrEmpty)
+                return new Short((short) 0);
+            else
+                return new Short(s);
+        } else if (target == Long.class) {
+            if (isNullOrEmpty)
+                return new Long(0);
+            else
+                return new Long(s);
+        } else {
+            return null;
+        }
     }
 
    // __begin convertMethod
     public static Object convert(String propertyName, String s, Class t,
-				 Class propertyEditorClass) 
+                                 Class propertyEditorClass) 
        throws JasperException 
     {
         try {
@@ -234,10 +235,10 @@
                 else
                     return null;
             }
-	    if (propertyEditorClass != null) {
-		return getValueFromBeanInfoPropertyEditor(
-				    t, propertyName, s, propertyEditorClass);
-	    } else if ( t.equals(Boolean.class) || t.equals(Boolean.TYPE) ) {
+            if (propertyEditorClass != null) {
+                return getValueFromBeanInfoPropertyEditor(
+                                    t, propertyName, s, propertyEditorClass);
+            } else if ( t.equals(Boolean.class) || t.equals(Boolean.TYPE) ) {
                 if (s.equalsIgnoreCase("on") || s.equalsIgnoreCase("true"))
                     s = "true";
                 else
@@ -263,8 +264,8 @@
                 return new java.io.File(s);
             } else if (t.getName().equals("java.lang.Object")) {
                 return new Object[] {s};
-	    } else {
-		return getValueFromPropertyEditorManager(
+            } else {
+                return getValueFromPropertyEditorManager(
                                             t, propertyName, s);
             }
         } catch (Exception ex) {
@@ -277,12 +278,12 @@
     public static void introspect(Object bean, ServletRequest request)
                                   throws JasperException
     {
-	Enumeration e = request.getParameterNames();
-	while ( e.hasMoreElements() ) {
-	    String name  = (String) e.nextElement();
-	    String value = request.getParameter(name);
-	    introspecthelper(bean, name, value, request, name, true);
-	}
+        Enumeration e = request.getParameterNames();
+        while ( e.hasMoreElements() ) {
+            String name  = (String) e.nextElement();
+            String value = request.getParameter(name);
+            introspecthelper(bean, name, value, request, name, true);
+        }
     }
     // __end introspectMethod
     
@@ -295,8 +296,8 @@
         if( System.getSecurityManager() != null ) {
             try {
                 PrivilegedIntrospectHelper dp =
-		    new PrivilegedIntrospectHelper(
-			bean,prop,value,request,param,ignoreMethodNF);
+                    new PrivilegedIntrospectHelper(
+                        bean,prop,value,request,param,ignoreMethodNF);
                 AccessController.doPrivileged(dp);
             } catch( PrivilegedActionException pe) {
                 Exception e = pe.getException();
@@ -304,72 +305,71 @@
             }
         } else {
             internalIntrospecthelper(
-		bean,prop,value,request,param,ignoreMethodNF);
+                bean,prop,value,request,param,ignoreMethodNF);
         }
     }
 
     private static void internalIntrospecthelper(Object bean, String prop,
-					String value, ServletRequest request,
-					String param, boolean ignoreMethodNF) 
-					throws JasperException
+                                        String value, ServletRequest request,
+                                        String param, boolean ignoreMethodNF) 
+                                        throws JasperException
     {
         Method method = null;
         Class type = null;
         Class propertyEditorClass = null;
-	try {
-	    java.beans.BeanInfo info
-		= java.beans.Introspector.getBeanInfo(bean.getClass());
-	    if ( info != null ) {
-		java.beans.PropertyDescriptor pd[]
-		    = info.getPropertyDescriptors();
-		for (int i = 0 ; i < pd.length ; i++) {
-		    if ( pd[i].getName().equals(prop) ) {
-			method = pd[i].getWriteMethod();
-			type   = pd[i].getPropertyType();
-			propertyEditorClass = pd[i].getPropertyEditorClass();
-			break;
-		    }
-		}
-	    }
-	    if ( method != null ) {
-		if (type.isArray()) {
+        try {
+            java.beans.BeanInfo info
+                = java.beans.Introspector.getBeanInfo(bean.getClass());
+            if ( info != null ) {
+                java.beans.PropertyDescriptor pd[]
+                    = info.getPropertyDescriptors();
+                for (int i = 0 ; i < pd.length ; i++) {
+                    if ( pd[i].getName().equals(prop) ) {
+                        method = pd[i].getWriteMethod();
+                        type   = pd[i].getPropertyType();
+                        propertyEditorClass = pd[i].getPropertyEditorClass();
+                        break;
+                    }
+                }
+            }
+            if ( method != null ) {
+                if (type.isArray()) {
                     if (request == null) {
-			throw new JasperException(
-		            Localizer.getMessage("jsp.error.beans.setproperty.noindexset"));
+                        throw new JasperException(
+                            Localizer.getMessage("jsp.error.beans.setproperty.noindexset"));
                     }
-		    Class t = type.getComponentType();
-		    String[] values = request.getParameterValues(param);
-		    //XXX Please check.
-		    if(values == null) return;
-		    if(t.equals(String.class)) {
-			method.invoke(bean, new Object[] { values });
-		    } else {
-			Object tmpval = null;
-			createTypedArray (prop, bean, method, values, t,
-					  propertyEditorClass); 
-		    }
-		} else {
-		    if(value == null || (param != null && value.equals(""))) return;
-		    Object oval = convert(prop, value, type, propertyEditorClass);
-		    if ( oval != null )
-			method.invoke(bean, new Object[] { oval });
-		}
-	    }
-	} catch (Exception ex) {
-	    throw new JasperException(ex);
-	}
+                    Class t = type.getComponentType();
+                    String[] values = request.getParameterValues(param);
+                    //XXX Please check.
+                    if(values == null) return;
+                    if(t.equals(String.class)) {
+                        method.invoke(bean, new Object[] { values });
+                    } else {
+                        createTypedArray (prop, bean, method, values, t,
+                                          propertyEditorClass); 
+                    }
+                } else {
+                    if(value == null || (param != null && value.equals(""))) return;
+                    Object oval = convert(prop, value, type, propertyEditorClass);
+                    if ( oval != null )
+                        method.invoke(bean, new Object[] { oval });
+                }
+            }
+        } catch (Exception ex) {
+            throw new JasperException(ex);
+        }
         if (!ignoreMethodNF && (method == null)) {
             if (type == null) {
-		throw new JasperException(
+                throw new JasperException(
                     Localizer.getMessage("jsp.error.beans.noproperty",
-					 prop,
-					 bean.getClass().getName()));
+                                         prop,
+                                         bean.getClass().getName()));
             } else {
-		throw new JasperException(
-	            Localizer.getMessage("jsp.error.beans.nomethod.setproperty",
-					 prop,
-					 type.getName(),
-					 bean.getClass().getName()));
+                throw new JasperException(
+                    Localizer.getMessage("jsp.error.beans.nomethod.setproperty",
+                                         prop,
+                                         type.getName(),
+                                         bean.getClass().getName()));
             }
         }
     }
@@ -423,113 +423,113 @@
      * the request and the property is indexed.
      */
     public static void createTypedArray(String propertyName,
-					Object bean,
-					Method method,
-					String[] values,
-					Class t,
-					Class propertyEditorClass)
-	        throws JasperException {
+                                        Object bean,
+                                        Method method,
+                                        String[] values,
+                                        Class t,
+                                        Class propertyEditorClass)
+                throws JasperException {
 
-	try {
-	    if (propertyEditorClass != null) {
-		Object[] tmpval = new Integer[values.length];
-		for (int i=0; i<values.length; i++) {
-		    tmpval[i] = getValueFromBeanInfoPropertyEditor(
+        try {
+            if (propertyEditorClass != null) {
+                Object[] tmpval = new Integer[values.length];
+                for (int i=0; i<values.length; i++) {
+                    tmpval[i] = getValueFromBeanInfoPropertyEditor(
                             t, propertyName, values[i], propertyEditorClass);
-		}
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(Integer.class)) {
-		Integer []tmpval = new Integer[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] =  new Integer (values[i]);
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(Byte.class)) {
-		Byte[] tmpval = new Byte[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] = new Byte (values[i]);
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(Boolean.class)) {
-		Boolean[] tmpval = new Boolean[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] = new Boolean (values[i]);
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(Short.class)) {
-		Short[] tmpval = new Short[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] = new Short (values[i]);
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(Long.class)) {
-		Long[] tmpval = new Long[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] = new Long (values[i]);
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(Double.class)) {
-		Double[] tmpval = new Double[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] = new Double (values[i]);
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(Float.class)) {
-		Float[] tmpval = new Float[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] = new Float (values[i]);
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(Character.class)) {
-		Character[] tmpval = new Character[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] = new Character(values[i].charAt(0));
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(int.class)) {
-		int []tmpval = new int[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] = Integer.parseInt (values[i]);
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(byte.class)) {
-		byte[] tmpval = new byte[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] = Byte.parseByte (values[i]);
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(boolean.class)) {
-		boolean[] tmpval = new boolean[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] = (Boolean.valueOf(values[i])).booleanValue();
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(short.class)) {
-		short[] tmpval = new short[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] = Short.parseShort (values[i]);
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(long.class)) {
-		long[] tmpval = new long[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] = Long.parseLong (values[i]);
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(double.class)) {
-		double[] tmpval = new double[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] = Double.valueOf(values[i]).doubleValue();
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(float.class)) {
-		float[] tmpval = new float[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] = Float.valueOf(values[i]).floatValue();
-		method.invoke (bean, new Object[] {tmpval});
-	    } else if (t.equals(char.class)) {
-		char[] tmpval = new char[values.length];
-		for (int i = 0 ; i < values.length; i++)
-		    tmpval[i] = values[i].charAt(0);
-		method.invoke (bean, new Object[] {tmpval});
-	    } else {
-		Object[] tmpval = new Integer[values.length];
-		for (int i=0; i<values.length; i++) {
-		    tmpval[i] =  
-			getValueFromPropertyEditorManager(
+                }
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(Integer.class)) {
+                Integer []tmpval = new Integer[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] =  new Integer (values[i]);
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(Byte.class)) {
+                Byte[] tmpval = new Byte[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] = new Byte (values[i]);
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(Boolean.class)) {
+                Boolean[] tmpval = new Boolean[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] = new Boolean (values[i]);
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(Short.class)) {
+                Short[] tmpval = new Short[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] = new Short (values[i]);
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(Long.class)) {
+                Long[] tmpval = new Long[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] = new Long (values[i]);
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(Double.class)) {
+                Double[] tmpval = new Double[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] = new Double (values[i]);
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(Float.class)) {
+                Float[] tmpval = new Float[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] = new Float (values[i]);
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(Character.class)) {
+                Character[] tmpval = new Character[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] = new Character(values[i].charAt(0));
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(int.class)) {
+                int []tmpval = new int[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] = Integer.parseInt (values[i]);
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(byte.class)) {
+                byte[] tmpval = new byte[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] = Byte.parseByte (values[i]);
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(boolean.class)) {
+                boolean[] tmpval = new boolean[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] = (Boolean.valueOf(values[i])).booleanValue();
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(short.class)) {
+                short[] tmpval = new short[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] = Short.parseShort (values[i]);
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(long.class)) {
+                long[] tmpval = new long[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] = Long.parseLong (values[i]);
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(double.class)) {
+                double[] tmpval = new double[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] = Double.valueOf(values[i]).doubleValue();
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(float.class)) {
+                float[] tmpval = new float[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] = Float.valueOf(values[i]).floatValue();
+                method.invoke (bean, new Object[] {tmpval});
+            } else if (t.equals(char.class)) {
+                char[] tmpval = new char[values.length];
+                for (int i = 0 ; i < values.length; i++)
+                    tmpval[i] = values[i].charAt(0);
+                method.invoke (bean, new Object[] {tmpval});
+            } else {
+                Object[] tmpval = new Integer[values.length];
+                for (int i=0; i<values.length; i++) {
+                    tmpval[i] =  
+                        getValueFromPropertyEditorManager(
                                             t, propertyName, values[i]);
-		}
-		method.invoke (bean, new Object[] {tmpval});
-	    }
-	} catch (Exception ex) {
+                }
+                method.invoke (bean, new Object[] {tmpval});
+            }
+        } catch (Exception ex) {
             throw new JasperException ("error in invoking method", ex);
-	}
+        }
     }
 
     /**
@@ -571,7 +571,6 @@
     //allocate the buffer - use byte[] to avoid calls to new.
         byte holdbuffer[] = new byte[encoded.length()];
 
-        char holdchar;
         int bufcount = 0;
 
         for (int count = 0; count < encoded.length(); count++) {
@@ -589,7 +588,7 @@
             holdbuffer[bufcount++] = (byte) cur;
             }
         }
-	// REVISIT -- remedy for Deprecated warning.
+        // REVISIT -- remedy for Deprecated warning.
     //return new String(holdbuffer,0,0,bufcount);
     return new String(holdbuffer,0,bufcount);
     }
@@ -598,15 +597,15 @@
     public static Object handleGetProperty(Object o, String prop)
     throws JasperException {
         if (o == null) {
-	    throw new JasperException(
-	            Localizer.getMessage("jsp.error.beans.nullbean"));
+            throw new JasperException(
+                    Localizer.getMessage("jsp.error.beans.nullbean"));
         }
-	Object value = null;
+        Object value = null;
         try {
             Method method = getReadMethod(o.getClass(), prop);
-	    value = method.invoke(o, null);
+            value = method.invoke(o, null);
         } catch (Exception ex) {
-	    throw new JasperException (ex);
+            throw new JasperException (ex);
         }
         return value;
     }
@@ -617,26 +616,26 @@
     public static void handleSetPropertyExpression(Object bean,
         String prop, String expression, PageContext pageContext,
         VariableResolver variableResolver, FunctionMapper functionMapper )
-	throws JasperException
+        throws JasperException
     {
-	try {
+        try {
             Method method = getWriteMethod(bean.getClass(), prop);
-	    method.invoke(bean, new Object[] { 
-		pageContext.getExpressionEvaluator().evaluate(
-		    expression,
-		    method.getParameterTypes()[0],
+            method.invoke(bean, new Object[] { 
+                pageContext.getExpressionEvaluator().evaluate(
+                    expression,
+                    method.getParameterTypes()[0],
                     variableResolver,
                     functionMapper,
                     null )
-	    });
-	} catch (Exception ex) {
-	    throw new JasperException(ex);
-	}
+            });
+        } catch (Exception ex) {
+            throw new JasperException(ex);
+        }
     }
 **/
     public static void handleSetPropertyExpression(Object bean,
         String prop, String expression, PageContext pageContext,
-	ProtectedFunctionMapper functionMapper )
+        ProtectedFunctionMapper functionMapper )
         throws JasperException
     {
         try {
@@ -645,7 +644,7 @@
                 PageContextImpl.proprietaryEvaluate(
                     expression,
                     method.getParameterTypes()[0],
-		    pageContext,
+                    pageContext,
                     functionMapper,
                     false )
             });
@@ -655,158 +654,158 @@
     }
 
     public static void handleSetProperty(Object bean, String prop,
-					 Object value)
-	throws JasperException
+                                         Object value)
+        throws JasperException
     {
-	try {
+        try {
             Method method = getWriteMethod(bean.getClass(), prop);
-	    method.invoke(bean, new Object[] { value });
-	} catch (Exception ex) {
-	    throw new JasperException(ex);
-	}
+            method.invoke(bean, new Object[] { value });
+        } catch (Exception ex) {
+            throw new JasperException(ex);
+        }
     }
     
     public static void handleSetProperty(Object bean, String prop,
-					 int value)
-	throws JasperException
+                                         int value)
+        throws JasperException
     {
-	try {
+        try {
             Method method = getWriteMethod(bean.getClass(), prop);
-	    method.invoke(bean, new Object[] { new Integer(value) });
-	} catch (Exception ex) {
-	    throw new JasperException(ex);
-	}	
+            method.invoke(bean, new Object[] { new Integer(value) });
+        } catch (Exception ex) {
+            throw new JasperException(ex);
+        }        
     }
     
     public static void handleSetProperty(Object bean, String prop,
-					 short value)
-	throws JasperException
+                                         short value)
+        throws JasperException
     {
-	try {
+        try {
             Method method = getWriteMethod(bean.getClass(), prop);
-	    method.invoke(bean, new Object[] { new Short(value) });
-	} catch (Exception ex) {
-	    throw new JasperException(ex);
-	}	
+            method.invoke(bean, new Object[] { new Short(value) });
+        } catch (Exception ex) {
+            throw new JasperException(ex);
+        }        
     }
     
     public static void handleSetProperty(Object bean, String prop,
-					 long value)
-	throws JasperException
+                                         long value)
+        throws JasperException
     {
-	try {
+        try {
             Method method = getWriteMethod(bean.getClass(), prop);
-	    method.invoke(bean, new Object[] { new Long(value) });
-	} catch (Exception ex) {
-	    throw new JasperException(ex);
-	}	
+            method.invoke(bean, new Object[] { new Long(value) });
+        } catch (Exception ex) {
+            throw new JasperException(ex);
+        }        
     } 
     
     public static void handleSetProperty(Object bean, String prop,
-					 double value)
-	throws JasperException
+                                         double value)
+        throws JasperException
     {
-	try {
+        try {
             Method method = getWriteMethod(bean.getClass(), prop);
-	    method.invoke(bean, new Object[] { new Double(value) });
-	} catch (Exception ex) {
-	    throw new JasperException(ex);
-	}	
+            method.invoke(bean, new Object[] { new Double(value) });
+        } catch (Exception ex) {
+            throw new JasperException(ex);
+        }        
     }
     
     public static void handleSetProperty(Object bean, String prop,
-					 float value)
-	throws JasperException
+                                         float value)
+        throws JasperException
     {
-	try {
+        try {
             Method method = getWriteMethod(bean.getClass(), prop);
-	    method.invoke(bean, new Object[] { new Float(value) });
-	} catch (Exception ex) {
-	    throw new JasperException(ex);
-	}	
+            method.invoke(bean, new Object[] { new Float(value) });
+        } catch (Exception ex) {
+            throw new JasperException(ex);
+        }        
     }
     
     public static void handleSetProperty(Object bean, String prop,
-					 char value)
-	throws JasperException
+                                         char value)
+        throws JasperException
     {
-	try {
+        try {
             Method method = getWriteMethod(bean.getClass(), prop);
-	    method.invoke(bean, new Object[] { new Character(value) });
-	} catch (Exception ex) {
-	    throw new JasperException(ex);
-	}	
+            method.invoke(bean, new Object[] { new Character(value) });
+        } catch (Exception ex) {
+            throw new JasperException(ex);
+        }        
     }
 
     public static void handleSetProperty(Object bean, String prop,
-					 byte value)
-	throws JasperException
+                                         byte value)
+        throws JasperException
     {
-	try {
+        try {
             Method method = getWriteMethod(bean.getClass(), prop);
-	    method.invoke(bean, new Object[] { new Byte(value) });
-	} catch (Exception ex) {
-	    throw new JasperException(ex);
-	}	
+            method.invoke(bean, new Object[] { new Byte(value) });
+        } catch (Exception ex) {
+            throw new JasperException(ex);
+        }        
     }
     
     public static void handleSetProperty(Object bean, String prop,
-					 boolean value)
-	throws JasperException
+                                         boolean value)
+        throws JasperException
     {
-	try {
+        try {
             Method method = getWriteMethod(bean.getClass(), prop);
-	    method.invoke(bean, new Object[] { new Boolean(value) });
-	} catch (Exception ex) {
-	    throw new JasperException(ex);
-	}	
+            method.invoke(bean, new Object[] { new Boolean(value) });
+        } catch (Exception ex) {
+            throw new JasperException(ex);
+        }        
     }
     
     public static Method getWriteMethod(Class beanClass, String prop)
     throws JasperException {
-	Method method = null;	
+        Method method = null;        
         Class type = null;
-	try {
-	    java.beans.BeanInfo info
+        try {
+            java.beans.BeanInfo info
                 = java.beans.Introspector.getBeanInfo(beanClass);
-	    if ( info != null ) {
-		java.beans.PropertyDescriptor pd[]
-		    = info.getPropertyDescriptors();
-		for (int i = 0 ; i < pd.length ; i++) {
-		    if ( pd[i].getName().equals(prop) ) {
-			method = pd[i].getWriteMethod();
-			type   = pd[i].getPropertyType();
-			break;
-		    }
-		}
+            if ( info != null ) {
+                java.beans.PropertyDescriptor pd[]
+                    = info.getPropertyDescriptors();
+                for (int i = 0 ; i < pd.length ; i++) {
+                    if ( pd[i].getName().equals(prop) ) {
+                        method = pd[i].getWriteMethod();
+                        type   = pd[i].getPropertyType();
+                        break;
+                    }
+                }
             } else {        
                 // just in case introspection silently fails.
                 throw new JasperException(
                     Localizer.getMessage("jsp.error.beans.nobeaninfo",
-					 beanClass.getName()));
+                                         beanClass.getName()));
             }
         } catch (Exception ex) {
             throw new JasperException (ex);
         }
         if (method == null) {
             if (type == null) {
-		throw new JasperException(
+                throw new JasperException(
                         Localizer.getMessage("jsp.error.beans.noproperty",
-					     prop,
-					     beanClass.getName()));
+                                             prop,
+                                             beanClass.getName()));
             } else {
-		throw new JasperException(
-		    Localizer.getMessage("jsp.error.beans.nomethod.setproperty",
-					 prop,
-					 type.getName(),
-					 beanClass.getName()));
+                throw new JasperException(
+                    Localizer.getMessage("jsp.error.beans.nomethod.setproperty",
+                                         prop,
+                                         type.getName(),
+                                         beanClass.getName()));
             }
         }
         return method;
     }
 
     public static Method getReadMethod(Class beanClass, String prop)
-	    throws JasperException {
+            throws JasperException {
 
         Method method = null;        
         Class type = null;
@@ -825,68 +824,68 @@
                 }
             } else {        
                 // just in case introspection silently fails.
-		throw new JasperException(
+                throw new JasperException(
                     Localizer.getMessage("jsp.error.beans.nobeaninfo",
-					 beanClass.getName()));
-	    }
-	} catch (Exception ex) {
-	    throw new JasperException (ex);
-	}
+                                         beanClass.getName()));
+            }
+        } catch (Exception ex) {
+            throw new JasperException (ex);
+        }
         if (method == null) {
             if (type == null) {
-		throw new JasperException(
+                throw new JasperException(
                     Localizer.getMessage("jsp.error.beans.noproperty", prop,
-					 beanClass.getName()));
+                                         beanClass.getName()));
             } else {
-		throw new JasperException(
+                throw new JasperException(
                     Localizer.getMessage("jsp.error.beans.nomethod", prop,
-					 beanClass.getName()));
+                                         beanClass.getName()));
             }
         }
 
-	return method;
+        return method;
     }
 
     //*********************************************************************
     // PropertyEditor Support
 
     public static Object getValueFromBeanInfoPropertyEditor(
-		           Class attrClass, String attrName, String attrValue,
-			   Class propertyEditorClass) 
-	throws JasperException 
+                           Class attrClass, String attrName, String attrValue,
+                           Class propertyEditorClass) 
+        throws JasperException 
     {
-	try {
-	    PropertyEditor pe = (PropertyEditor)propertyEditorClass.newInstance();
-	    pe.setAsText(attrValue);
-	    return pe.getValue();
-	} catch (Exception ex) {
-	    throw new JasperException(
+        try {
+            PropertyEditor pe = (PropertyEditor)propertyEditorClass.newInstance();
+            pe.setAsText(attrValue);
+            return pe.getValue();
+        } catch (Exception ex) {
+            throw new JasperException(
                 Localizer.getMessage("jsp.error.beans.property.conversion",
-				     attrValue, attrClass.getName(), attrName,
-				     ex.getMessage()));
-	}
+                                     attrValue, attrClass.getName(), attrName,
+                                     ex.getMessage()));
+        }
     }
 
     public static Object getValueFromPropertyEditorManager(
-	             Class attrClass, String attrName, String attrValue) 
-	throws JasperException 
+                     Class attrClass, String attrName, String attrValue) 
+        throws JasperException 
     {
-	try {
-	    PropertyEditor propEditor = 
-		PropertyEditorManager.findEditor(attrClass);
-	    if (propEditor != null) {
-		propEditor.setAsText(attrValue);
-		return propEditor.getValue();
-	    } else {
-		throw new IllegalArgumentException(
+        try {
+            PropertyEditor propEditor = 
+                PropertyEditorManager.findEditor(attrClass);
+            if (propEditor != null) {
+                propEditor.setAsText(attrValue);
+                return propEditor.getValue();
+            } else {
+                throw new IllegalArgumentException(
                     Localizer.getMessage("jsp.error.beans.propertyeditor.notregistered"));
-	    }
-	} catch (IllegalArgumentException ex) {
-	    throw new JasperException(
+            }
+        } catch (IllegalArgumentException ex) {
+            throw new JasperException(
                 Localizer.getMessage("jsp.error.beans.property.conversion",
-				     attrValue, attrClass.getName(), attrName,
-				     ex.getMessage()));
-	}
+                                     attrValue, attrClass.getName(), attrName,
+                                     ex.getMessage()));
+        }
     }
 
 
@@ -979,67 +978,67 @@
      */
     public static String URLEncode(String s, String enc) {
 
-	if (s == null) {
-	    return "null";
-	}
+        if (s == null) {
+            return "null";
+        }
 
-	if (enc == null) {
-	    enc = "ISO-8859-1";	// The default request encoding 
-	}
+        if (enc == null) {
+            enc = "ISO-8859-1";        // The default request encoding 
+        }
 
-	StringBuffer out = new StringBuffer(s.length());
-	ByteArrayOutputStream buf = new ByteArrayOutputStream();
-	OutputStreamWriter writer = null;
-	try {
-	    writer = new OutputStreamWriter(buf, enc);
-	} catch (java.io.UnsupportedEncodingException ex) {
-	    // Use the default encoding?
-	    writer = new OutputStreamWriter(buf);
-	}
-	
-	for (int i = 0; i < s.length(); i++) {
-	    int c = s.charAt(i);
-	    if (c == ' ') {
-		out.append('+');
-	    } else if (isSafeChar(c)) {
-		out.append((char)c);
-	    } else {
-		// convert to external encoding before hex conversion
-		try {
-		    writer.write(c);
-		    writer.flush();
-		} catch(IOException e) {
-		    buf.reset();
-		    continue;
-		}
-		byte[] ba = buf.toByteArray();
-		for (int j = 0; j < ba.length; j++) {
-		    out.append('%');
-		    // Converting each byte in the buffer
-		    out.append(Character.forDigit((ba[j]>>4) & 0xf, 16));
-		    out.append(Character.forDigit(ba[j] & 0xf, 16));
-		}
-		buf.reset();
-	    }
-	}
-	return out.toString();
+        StringBuffer out = new StringBuffer(s.length());
+        ByteArrayOutputStream buf = new ByteArrayOutputStream();
+        OutputStreamWriter writer = null;
+        try {
+            writer = new OutputStreamWriter(buf, enc);
+        } catch (java.io.UnsupportedEncodingException ex) {
+            // Use the default encoding?
+            writer = new OutputStreamWriter(buf);
+        }
+        
+        for (int i = 0; i < s.length(); i++) {
+            int c = s.charAt(i);
+            if (c == ' ') {
+                out.append('+');
+            } else if (isSafeChar(c)) {
+                out.append((char)c);
+            } else {
+                // convert to external encoding before hex conversion
+                try {
+                    writer.write(c);
+                    writer.flush();
+                } catch(IOException e) {
+                    buf.reset();
+                    continue;
+                }
+                byte[] ba = buf.toByteArray();
+                for (int j = 0; j < ba.length; j++) {
+                    out.append('%');
+                    // Converting each byte in the buffer
+                    out.append(Character.forDigit((ba[j]>>4) & 0xf, 16));
+                    out.append(Character.forDigit(ba[j] & 0xf, 16));
+                }
+                buf.reset();
+            }
+        }
+        return out.toString();
     }
 
     private static boolean isSafeChar(int c) {
-	if (c >= 'a' && c <= 'z') {
-	    return true;
-	}
-	if (c >= 'A' && c <= 'Z') {
-	    return true;
-	}
-	if (c >= '0' && c <= '9') {
-	    return true;
-	}
-	if (c == '-' || c == '_' || c == '.' || c == '!' ||
-	    c == '~' || c == '*' || c == '\'' || c == '(' || c == ')') {
-	    return true;
-	}
-	return false;
+        if (c >= 'a' && c <= 'z') {
+            return true;
+        }
+        if (c >= 'A' && c <= 'Z') {
+            return true;
+        }
+        if (c >= '0' && c <= '9') {
+            return true;
+        }
+        if (c == '-' || c == '_' || c == '.' || c == '!' ||
+            c == '~' || c == '*' || c == '\'' || c == '(' || c == ')') {
+            return true;
+        }
+        return false;
     }
 
 }

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspSourceDependent.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspSourceDependent.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspSourceDependent.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspWriterImpl.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspWriterImpl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/JspWriterImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/PageContextImpl.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/PageContextImpl.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/PageContextImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -65,7 +66,7 @@
 public class PageContextImpl extends PageContext implements VariableResolver {
 
     // Logger
-    private static Log log = LogFactory.getLog(PageContextImpl.class);
+    private Log log;
 
     // The expression evaluator, for evaluating EL expressions.
     private static ExpressionEvaluatorImpl elExprEval
@@ -100,6 +101,8 @@
      * Constructor.
      */
     PageContextImpl(JspFactory factory) {
+        log = LogFactory.getLog(getClass());
+
         this.variableResolver = new VariableResolverImpl(this);
         this.outs = new BodyContentImpl[0];
         this.attributes = new Hashtable(16);
@@ -851,8 +854,17 @@
         return variableResolver.resolveVariable(pName);
     }
 
+    /**
+     * XML-escape the given string.
+     *
+     * @param s The string to escape
+     * @return The escape string
+     */
     private static String XmlEscape(String s) {
-        if (s == null) return null;
+        if (s == null) {
+            return null;
+        }
+
         StringBuffer sb = new StringBuffer();
         for(int i = 0; i < s.length(); i++) {
             char c = s.charAt(i);

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/PerThreadTagHandlerPool.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/PerThreadTagHandlerPool.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/PerThreadTagHandlerPool.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/ProtectedFunctionMapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/ProtectedFunctionMapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/ProtectedFunctionMapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/ServletResponseWrapperInclude.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/ServletResponseWrapperInclude.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/ServletResponseWrapperInclude.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/TagHandlerPool.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/TagHandlerPool.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/runtime/TagHandlerPool.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/security/SecurityClassLoad.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/security/SecurityClassLoad.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/security/SecurityClassLoad.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/security/SecurityUtil.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/security/SecurityUtil.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/security/SecurityUtil.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2002,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JasperLoader.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JasperLoader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JasperLoader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JspCServletContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JspCServletContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JspCServletContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JspServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JspServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JspServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -187,11 +188,11 @@
         if (value.equals("true")) {
             return (true);             // ?jsp_precompile=true
         } else if (value.equals("false")) {
-	    // Spec says if jsp_precompile=false, the request should not
-	    // be delivered to the JSP page; the easiest way to implement
-	    // this is to set the flag to true, and precompile the page anyway.
-	    // This still conforms to the spec, since it says the
-	    // precompilation request can be ignored.
+            // Spec says if jsp_precompile=false, the request should not
+            // be delivered to the JSP page; the easiest way to implement
+            // this is to set the flag to true, and precompile the page anyway.
+            // This still conforms to the spec, since it says the
+            // precompilation request can be ignored.
             return (true);             // ?jsp_precompile=false
         } else {
             throw new ServletException("Cannot have request parameter " +
@@ -203,7 +204,7 @@
     
 
     public void service (HttpServletRequest request, 
-    			 HttpServletResponse response)
+                         HttpServletResponse response)
                 throws ServletException, IOException {
 
         String jspUri = null;
@@ -220,7 +221,7 @@
             jspUri = (String) request.getAttribute(Constants.INC_SERVLET_PATH);
             if (jspUri != null) {
                 /*
-		 * Requested JSP has been target of
+                 * Requested JSP has been target of
                  * RequestDispatcher.include(). Its path is assembled from the
                  * relevant javax.servlet.include.* request attributes
                  */
@@ -243,7 +244,7 @@
             }
         }
 
-        if (log.isDebugEnabled()) {	    
+        if (log.isDebugEnabled()) {
             log.debug("JspEngine --> " + jspUri);
             log.debug("\t     ServletPath: " + request.getServletPath());
             log.debug("\t        PathInfo: " + request.getPathInfo());
@@ -300,7 +301,7 @@
                     // creating unnecessary directories and files.
                     if (null == context.getResource(jspUri)) {
                         response.sendError(HttpServletResponse.SC_NOT_FOUND,
-                                           jspUri);
+                                           request.getRequestURI());
                         return;
                     }
                     boolean isErrorPage = exception != null;

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JspServletWrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JspServletWrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/servlet/JspServletWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -16,16 +17,9 @@
 
 package org.apache.jasper.servlet;
 
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
 import java.io.IOException;
 import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
 
 import javax.servlet.Servlet;
 import javax.servlet.ServletConfig;
@@ -457,10 +451,11 @@
             else {
                 int javaLineNumber = jspFrame.getLineNumber();
                 JavacErrorDetail detail = ErrorDispatcher.createJavacError(
-                                                                           jspFrame.getMethodName(),
-                                                                           this.ctxt.getCompiler().getPageNodes(),
-                                                                           null,
-                                                                           javaLineNumber);
+                        jspFrame.getMethodName(),
+                        this.ctxt.getCompiler().getPageNodes(),
+                        null,
+                        javaLineNumber,
+                        this.ctxt);
 
                 // If the line number is less than one we couldn't find out
                 // where in the JSP things went wrong
@@ -469,64 +464,18 @@
                     throw new JasperException(ex);
                 }
 
-                // Read both files in, so we can inspect them
-                String[] jspLines = readFile
-                    (this.ctxt.getResourceAsStream(this.ctxt.getJspFile()));
-
-                String[] javaLines = readFile
-                    (new FileInputStream(this.ctxt.getServletJavaFileName()));
-
-                // If the line contains the opening of a multi-line scriptlet
-                // block, then the JSP line number we got back is probably
-                // faulty.  Scan forward to match the java line...
-                if (jspLines[jspLineNumber-1].lastIndexOf("<%") >
-                    jspLines[jspLineNumber-1].lastIndexOf("%>")) {
-                    String javaLine = javaLines[javaLineNumber-1].trim();
-
-                    for (int i=jspLineNumber-1; i<jspLines.length; i++) {
-                        if (jspLines[i].indexOf(javaLine) != -1) {
-                            jspLineNumber = i+1;
-                            break;
-                        }
-                    }
-                }
-
-                // copy out a fragment of JSP to display to the user
-                StringBuffer buffer = new StringBuffer(1024);
-                int startIndex = Math.max(0, jspLineNumber-1-3);
-                int endIndex = Math.min(jspLines.length-1, jspLineNumber-1+3);
-
-                for (int i=startIndex;i<=endIndex; ++i) {
-                    buffer.append(i+1);
-                    buffer.append(": ");
-                    buffer.append(jspLines[i]);
-                    buffer.append("\n");
-                }
-
-                return new JasperException(
-                                           "Exception in JSP: " + detail.getJspFileName() + ":" +
-                                           jspLineNumber + "\n\n" + buffer + "\n\nStacktrace:", ex);
+                return new JasperException("Exception in JSP: " +
+                        detail.getJspFileName() + ":" + jspLineNumber + "\n\n" +
+                        detail.getJspExtract() + "\n\nStacktrace:", ex);
             }
         } catch (Exception je) {
             // If anything goes wrong, just revert to the original behaviour
-            return new JasperException(ex);
+            if (ex instanceof JasperException) {
+                return (JasperException) ex;
+            } else {
+                return new JasperException(ex);
+            }
         }
     }
 
-    /**
-     * Reads a text file from an input stream into a String[]. Used to read in
-     * the JSP and generated Java file when generating error messages.
-     */
-    private String[] readFile(InputStream s) throws IOException {
-        BufferedReader reader = new BufferedReader(new InputStreamReader(s));
-        List lines = new ArrayList();
-        String line;
-
-        while ( (line = reader.readLine()) != null ) {
-            lines.add(line);
-        }
-
-        return (String[]) lines.toArray( new String[lines.size()] );
-    }
-
 }

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/Util.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/Util.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/Util.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Catch.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Catch.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Catch.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Choose.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Choose.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Choose.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/ForEach.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/ForEach.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/ForEach.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/ForTokens.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/ForTokens.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/ForTokens.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/If.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/If.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/If.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Import.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Import.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Import.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Otherwise.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Otherwise.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Otherwise.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Out.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Out.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Out.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Param.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Param.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Param.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Redirect.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Redirect.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Redirect.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Remove.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Remove.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Remove.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Set.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Set.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Set.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Url.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Url.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Url.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/When.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/When.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/When.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/FastDateFormat.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/FastDateFormat.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/FastDateFormat.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/Queue.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/Queue.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/Queue.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/SimplePool.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/SimplePool.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/SimplePool.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/SystemLogHandler.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/SystemLogHandler.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/util/SystemLogHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/ASCIIReader.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/ASCIIReader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/ASCIIReader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -27,7 +28,7 @@
  *
  * @author Andy Clark, IBM
  *
- * @version $Id: ASCIIReader.java 305933 2004-03-17 19:23:05Z luehe $
+ * @version $Id: ASCIIReader.java 466606 2006-10-21 23:07:12Z markt $
  */
 public class ASCIIReader
     extends Reader {

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/EncodingMap.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/EncodingMap.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/EncodingMap.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -473,7 +474,7 @@
  * @author TAMURA Kent, IBM
  * @author Andy Clark, IBM
  *
- * @version $Id: EncodingMap.java 306086 2004-10-01 19:24:35Z luehe $
+ * @version $Id: EncodingMap.java 466606 2006-10-21 23:07:12Z markt $
  */
 public class EncodingMap {
 

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/ParserUtils.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/ParserUtils.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/ParserUtils.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -47,7 +48,7 @@
  * use a separate class loader for the parser to be used.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 306152 $ $Date: 2005-03-23 22:08:01 -0600 (Wed, 23 Mar 2005) $
+ * @version $Revision: 466606 $ $Date: 2006-10-21 17:07:12 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class ParserUtils {

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/SymbolTable.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/SymbolTable.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/SymbolTable.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -48,7 +49,7 @@
  * </ul>
  *
  * @author Andy Clark
- * @version $Id: SymbolTable.java 306179 2005-07-27 15:12:04Z yoavs $
+ * @version $Id: SymbolTable.java 466606 2006-10-21 23:07:12Z markt $
  */
 public class SymbolTable {
 

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/TreeNode.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/TreeNode.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/TreeNode.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -33,7 +34,7 @@
  * synchronized.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 305933 $ $Date: 2004-03-17 13:23:05 -0600 (Wed, 17 Mar 2004) $
+ * @version $Revision: 466606 $ $Date: 2006-10-21 17:07:12 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class TreeNode {

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/UCSReader.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/UCSReader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/UCSReader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -26,7 +27,7 @@
  *
  * @author Neil Graham, IBM
  *
- * @version $Id: UCSReader.java 306148 2005-03-21 15:38:13Z remm $
+ * @version $Id: UCSReader.java 466606 2006-10-21 23:07:12Z markt $
  */
 public class UCSReader extends Reader {
 

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/UTF8Reader.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/UTF8Reader.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/UTF8Reader.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -25,7 +26,7 @@
 /**
  * @author Andy Clark, IBM
  *
- * @version $Id: UTF8Reader.java 306148 2005-03-21 15:38:13Z remm $
+ * @version $Id: UTF8Reader.java 466606 2006-10-21 23:07:12Z markt $
  */
 public class UTF8Reader
     extends Reader {

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLChar.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLChar.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLChar.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004-2005 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -48,7 +49,7 @@
  * @author Michael Glavassevich, IBM
  * @author Rahul Srivastava, Sun Microsystems Inc.
  *
- * @version $Id: XMLChar.java 306179 2005-07-27 15:12:04Z yoavs $
+ * @version $Id: XMLChar.java 466606 2006-10-21 23:07:12Z markt $
  */
 public class XMLChar {
 

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLEncodingDetector.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLEncodingDetector.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLEncodingDetector.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLString.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLString.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLString.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -46,7 +47,7 @@
  * @author Eric Ye, IBM
  * @author Andy Clark, IBM
  *
- * @version $Id: XMLString.java 306086 2004-10-01 19:24:35Z luehe $
+ * @version $Id: XMLString.java 466606 2006-10-21 23:07:12Z markt $
  */
 public class XMLString {
 

Modified: branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLStringBuffer.java
===================================================================
--- branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLStringBuffer.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/jasper/src/share/org/apache/jasper/xmlparser/XMLStringBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
@@ -43,7 +44,7 @@
  * @author Andy Clark, IBM
  * @author Eric Ye, IBM
  *
- * @version $Id: XMLStringBuffer.java 306086 2004-10-01 19:24:35Z luehe $
+ * @version $Id: XMLStringBuffer.java 466606 2006-10-21 23:07:12Z markt $
  */
 public class XMLStringBuffer
     extends XMLString {

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/Entries.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/Entries.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/Entries.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/Entry.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/Entry.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/Entry.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/JspCalendar.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/JspCalendar.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/JspCalendar.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/TableBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/TableBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/cal/TableBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/checkbox/CheckTest.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/checkbox/CheckTest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/checkbox/CheckTest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/colors/ColorGameBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/colors/ColorGameBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/colors/ColorGameBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -35,7 +36,7 @@
  *
  * @author Amy Roh
  * @author Dmitri Valdin
- * @version $Revision: 267129 $, $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 466607 $, $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class CompressionFilter implements Filter{

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,6 @@
 package compressionFilters;
 
 import java.io.IOException;
-import java.io.PrintWriter;
 import java.util.Enumeration;
 import javax.servlet.*;
 import javax.servlet.http.*;
@@ -25,7 +25,7 @@
 /**
  * Very Simple test servlet to test compression filter
  * @author Amy Roh
- * @version $Revision: 267129 $, $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 496190 $, $Date: 2007-01-14 16:21:45 -0700 (Sun, 14 Jan 2007) $
  */
 
 public class CompressionFilterTestServlet extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -29,7 +30,7 @@
  *
  * @author Amy Roh
  * @author Dmitri Valdin
- * @version $Revision: 267129 $, $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 496190 $, $Date: 2007-01-14 16:21:45 -0700 (Sun, 14 Jan 2007) $
  */
 
 public class CompressionResponseStream
@@ -81,7 +82,7 @@
     /**
      * The underlying gzip output stream to which we should write data.
      */
-    protected GZIPOutputStream gzipstream = null;
+    protected OutputStream gzipstream = null;
 
     /**
      * Has this stream been closed?
@@ -295,8 +296,14 @@
             if (debug > 1) {
                 System.out.println("new GZIPOutputStream");
             }
-            response.addHeader("Content-Encoding", "gzip");
-            gzipstream = new GZIPOutputStream(output);
+            if (response.isCommitted()) {
+                if (debug > 1)
+                    System.out.print("Response already committed. Using original output stream");
+                gzipstream = output;
+            } else {
+                response.addHeader("Content-Encoding", "gzip");
+                gzipstream = new GZIPOutputStream(output);
+            }
         }
         gzipstream.write(b, off, len);
 

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -17,16 +18,9 @@
 package compressionFilters;
 
 import java.io.IOException;
-import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
-import java.util.Locale;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.ServletException;
 import javax.servlet.ServletOutputStream;
-import javax.servlet.ServletResponse;
-import javax.servlet.ServletResponseWrapper;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponseWrapper;
 
@@ -36,7 +30,7 @@
  *
  * @author Amy Roh
  * @author Dmitri Valdin
- * @version $Revision: 267129 $, $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 496190 $, $Date: 2007-01-14 16:21:45 -0700 (Sun, 14 Jan 2007) $
  */
 
 public class CompressionServletResponseWrapper extends HttpServletResponseWrapper {
@@ -249,29 +243,4 @@
     public void setContentLength(int length) {
     }
 
-
-    /**
-     * Returns character from content type. This method was taken from tomcat.
-     * @author rajo
-     */
-    private static String getCharsetFromContentType(String type) {
-
-        if (type == null) {
-            return null;
-        }
-        int semi = type.indexOf(";");
-        if (semi == -1) {
-            return null;
-        }
-        String afterSemi = type.substring(semi + 1);
-        int charsetLocation = afterSemi.indexOf("charset=");
-        if(charsetLocation == -1) {
-            return null;
-        } else {
-            String afterCharset = afterSemi.substring(charsetLocation + 8);
-            String encoding = afterCharset.trim();
-            return encoding;
-        }
-    }
-
 }

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/dates/JspCalendar.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/dates/JspCalendar.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/dates/JspCalendar.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/error/Smart.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/error/Smart.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/error/Smart.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/ExampleTagBase.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/ExampleTagBase.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/ExampleTagBase.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/FooTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/FooTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/FooTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/FooTagExtraInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/FooTagExtraInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/FooTagExtraInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/LogTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/LogTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/LogTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/ShowSource.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/ShowSource.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/examples/ShowSource.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/filters/ExampleFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/filters/ExampleFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/filters/ExampleFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -42,7 +43,7 @@
  * </ul>
  *
  * @author Craig McClanahan
- * @version $Revision: 267129 $ $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class ExampleFilter implements Filter {

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/filters/RequestDumperFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/filters/RequestDumperFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/filters/RequestDumperFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -43,7 +44,7 @@
  * to assist in debugging problems.
  *
  * @author Craig McClanahan
- * @version $Revision: 267129 $ $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class RequestDumperFilter implements Filter {

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -54,7 +55,7 @@
  * user's session.</p>
  *
  * @author Craig McClanahan
- * @version $Revision: 267129 $ $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class SetCharacterEncodingFilter implements Filter {

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/BookBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/BookBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/BookBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/FooBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/FooBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/FooBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/el/Functions.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/el/Functions.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/el/Functions.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/listeners/ContextListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/listeners/ContextListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/listeners/ContextListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -32,7 +33,7 @@
  * associated with our servlet context.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 267129 $ $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class ContextListener

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/listeners/SessionListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/listeners/SessionListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/listeners/SessionListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -34,7 +35,7 @@
  * associated with our servlet context.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 267129 $ $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class SessionListener

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/num/NumberGuessBean.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/num/NumberGuessBean.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/num/NumberGuessBean.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/servletToJsp.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/servletToJsp.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/servletToJsp.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/sessions/DummyCart.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/sessions/DummyCart.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/sessions/DummyCart.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/util/HTMLFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/util/HTMLFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/util/HTMLFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -21,7 +22,7 @@
  *
  * @author Craig R. McClanahan
  * @author Tim Tye
- * @version $Revision: 267129 $ $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class HTMLFilter {

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/validators/DebugValidator.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/validators/DebugValidator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/classes/validators/DebugValidator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -33,7 +34,7 @@
  * of your JSP page.
  *
  * @author Craig McClanahan
- * @version $Revision: 267129 $ $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class DebugValidator extends TagLibraryValidator {

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp/applet/Clock2.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp/applet/Clock2.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp/applet/Clock2.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp/debug-taglib.tld
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp/debug-taglib.tld	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp/debug-taglib.tld	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp/example-taglib.tld
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp/example-taglib.tld	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp/example-taglib.tld	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp2/jsp2-example-taglib.tld
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp2/jsp2-example-taglib.tld	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/jsp2/jsp2-example-taglib.tld	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/displayProducts.tag
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/displayProducts.tag	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/displayProducts.tag	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/helloWorld.tag
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/helloWorld.tag	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/helloWorld.tag	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/panel.tag
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/panel.tag	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/panel.tag	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/xhtmlbasic.tag
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/xhtmlbasic.tag	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/tags/xhtmlbasic.tag	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/web.xml
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/web.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/WEB-INF/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/cal1.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/cal1.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/cal1.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <HTML>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/cal2.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/cal2.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/cal2.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <HTML>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/calendar.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/calendar.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/calendar.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/login.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/login.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/cal/login.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/CheckTest.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/CheckTest.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/CheckTest.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <HTML>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/check.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/check.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/check.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <HTML>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/checkresult.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/checkresult.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/checkresult.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/cresult.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/cresult.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/checkbox/cresult.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/ColorGameBean.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/ColorGameBean.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/ColorGameBean.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <HTML>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/clr.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/clr.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/clr.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/colors.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/colors.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/colors.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/colrs.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/colrs.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/colors/colrs.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/dates/date.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/dates/date.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/dates/date.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/dates/date.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/dates/date.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/dates/date.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/er.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/er.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/er.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/err.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/err.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/err.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/error.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/error.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/error.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/errorpge.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/errorpge.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/error/errorpge.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/foo.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/foo.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/foo.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/foo.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/foo.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/foo.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/inc.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/inc.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/inc.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/include.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/include.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/include/include.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/index.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/index.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/index.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,12 +1,13 @@
 <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
 <html>
 \<!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-arithmetic.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-arithmetic.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-arithmetic.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-arithmetic.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-arithmetic.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-arithmetic.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-comparisons.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-comparisons.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-comparisons.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-comparisons.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-comparisons.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/basic-comparisons.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/functions.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/functions.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/functions.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/functions.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/functions.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/functions.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/implicit-objects.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/implicit-objects.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/el/implicit-objects.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/jspattribute.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/jspattribute.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/jspattribute.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/jspattribute.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/jspattribute.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/jspattribute.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/shuffle.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/shuffle.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/shuffle.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/shuffle.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/shuffle.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspattribute/shuffle.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspx/basic.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspx/basic.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspx/basic.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspx/svgexample.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspx/svgexample.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspx/svgexample.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspx/textRotate.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspx/textRotate.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/jspx/textRotate.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/config.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/config.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/config.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/config.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/config.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/config.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/dynamicattrs.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/dynamicattrs.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/dynamicattrs.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/dynamicattrs.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/dynamicattrs.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/misc/dynamicattrs.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/book.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/book.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/book.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/book.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/book.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/book.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/hello.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/hello.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/hello.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/hello.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/hello.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/hello.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/repeat.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/repeat.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/repeat.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/repeat.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/repeat.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/simpletag/repeat.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/hello.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/hello.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/hello.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/hello.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/hello.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/hello.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/panel.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/panel.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/panel.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/panel.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/panel.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/panel.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/products.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/products.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsp2/tagfiles/products.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsptoserv/hello.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsptoserv/hello.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsptoserv/hello.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsptoserv/jsptoservlet.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsptoserv/jsptoservlet.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsptoserv/jsptoservlet.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsptoserv/jts.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsptoserv/jts.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/jsptoserv/jts.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/num/numguess.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/num/numguess.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/num/numguess.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/num/numguess.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/num/numguess.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/num/numguess.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/plugin/applet/Clock2.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/plugin/applet/Clock2.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/plugin/applet/Clock2.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/plugin/plugin.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/plugin/plugin.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/plugin/plugin.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/plugin/plugin.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/plugin/plugin.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/plugin/plugin.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/security/protected/error.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/security/protected/error.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/security/protected/error.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/security/protected/index.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/security/protected/index.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/security/protected/index.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/security/protected/login.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/security/protected/login.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/security/protected/login.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/DummyCart.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/DummyCart.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/DummyCart.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <HTML>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/carts.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/carts.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/carts.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/carts.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/carts.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/carts.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/crt.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/crt.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/sessions/crt.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/simpletag/foo.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/simpletag/foo.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/simpletag/foo.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/simpletag/foo.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/simpletag/foo.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/simpletag/foo.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/snp/snoop.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/snp/snoop.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/snp/snoop.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/snp/snoop.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/snp/snoop.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/snp/snoop.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/source.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/source.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/source.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/choose.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/choose.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/choose.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/choose.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/choose.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/choose.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/foreach.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/foreach.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/foreach.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/foreach.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/foreach.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/foreach.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/howto.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/howto.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/howto.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/if.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/if.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/if.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/if.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/if.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/if.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/notes.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/notes.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/tagplugin/notes.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/xml/xml.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/xml/xml.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/xml/xml.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <html>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/xml/xml.jsp
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/xml/xml.jsp	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/examples/xml/xml.jsp	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/ant/task/Txt2Html.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/ant/task/Txt2Html.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/ant/task/Txt2Html.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/jsp_2_0.xsd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/jsp_2_0.xsd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/jsp_2_0.xsd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/jspxml.dtd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/jspxml.dtd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/jspxml.dtd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/jspxml.xsd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/jspxml.xsd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/jspxml.xsd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version ="1.0"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_1_1.dtd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_1_1.dtd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_1_1.dtd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_1_2.dtd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_1_2.dtd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_1_2.dtd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/ErrorData.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/ErrorData.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/ErrorData.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/HttpJspPage.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/HttpJspPage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/HttpJspPage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspEngineInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspEngineInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspEngineInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspException.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspException.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspException.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspFactory.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspFactory.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspPage.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspPage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspPage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspTagException.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspTagException.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspTagException.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspWriter.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspWriter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/JspWriter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/PageContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/PageContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/PageContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/SkipPageException.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/SkipPageException.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/SkipPageException.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/ELException.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/ELException.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/ELException.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/ELParseException.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/ELParseException.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/ELParseException.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/Expression.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/Expression.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/Expression.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/FunctionMapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/FunctionMapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/FunctionMapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/VariableResolver.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/VariableResolver.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/el/VariableResolver.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyContent.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyContent.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyContent.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyTagSupport.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyTagSupport.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyTagSupport.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/DynamicAttributes.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/DynamicAttributes.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/DynamicAttributes.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/FunctionInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/FunctionInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/FunctionInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/JspFragment.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/JspFragment.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/JspFragment.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/JspTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/JspTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/JspTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/PageData.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/PageData.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/PageData.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/Tag.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/Tag.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/Tag.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagAdapter.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagAdapter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagAdapter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagAttributeInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagAttributeInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagAttributeInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagData.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagData.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagData.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagExtraInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagExtraInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagExtraInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagFileInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagFileInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagFileInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagSupport.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagSupport.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagSupport.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagVariableInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagVariableInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagVariableInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TryCatchFinally.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TryCatchFinally.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TryCatchFinally.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/ValidationMessage.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/ValidationMessage.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/ValidationMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/CookieExample.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/CookieExample.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/CookieExample.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -13,7 +14,7 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-/* $Id: CookieExample.java 267129 2004-03-18 16:40:35Z jfarcand $
+/* $Id: CookieExample.java 466607 2006-10-21 23:09:50Z markt $
  *
  */
 

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/HelloWorldExample.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/HelloWorldExample.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/HelloWorldExample.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -13,7 +14,7 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-/* $Id: HelloWorldExample.java 267129 2004-03-18 16:40:35Z jfarcand $
+/* $Id: HelloWorldExample.java 466607 2006-10-21 23:09:50Z markt $
  *
  */
 

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings.properties
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-# Copyright 2004 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #     http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
@@ -12,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# $Id: LocalStrings.properties 267129 2004-03-18 16:40:35Z jfarcand $
+# $Id: LocalStrings.properties 466607 2006-10-21 23:09:50Z markt $
 
 # Default localized resources for example servlets
 # This locale is en_US

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_en.properties
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_en.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_en.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-# Copyright 2004 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #     http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
@@ -12,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# $Id: LocalStrings_en.properties 267129 2004-03-18 16:40:35Z jfarcand $
+# $Id: LocalStrings_en.properties 466607 2006-10-21 23:09:50Z markt $
 
 # Default localized resources for example servlets
 # This locale is en_US

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_es.properties
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_es.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_es.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-# Copyright 2004 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #     http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
@@ -12,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# $Id: LocalStrings_es.properties 267129 2004-03-18 16:40:35Z jfarcand $
+# $Id: LocalStrings_es.properties 466607 2006-10-21 23:09:50Z markt $
 #
 # Default localized string information
 # Localized para Locale es_ES

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_fr.properties
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_fr.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_fr.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-# Copyright 2004 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #     http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
@@ -12,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# $Id: LocalStrings_fr.properties 267129 2004-03-18 16:40:35Z jfarcand $
+# $Id: LocalStrings_fr.properties 466607 2006-10-21 23:09:50Z markt $
 
 # Default localized resources for example servlets
 # This locale is fr_FR

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_pt.properties
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_pt.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_pt.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-# Copyright 2004 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #     http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
@@ -12,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# $Id: LocalStrings_pt.properties 267143 2004-08-24 18:38:35Z jfarcand $
+# $Id: LocalStrings_pt.properties 466607 2006-10-21 23:09:50Z markt $
 
 # Default localized resources for example servlets
 # This locale is pt_PT

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/RequestHeaderExample.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/RequestHeaderExample.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/RequestHeaderExample.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -13,7 +14,7 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-/* $Id: RequestHeaderExample.java 267129 2004-03-18 16:40:35Z jfarcand $
+/* $Id: RequestHeaderExample.java 466607 2006-10-21 23:09:50Z markt $
  *
  */
 

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/RequestInfoExample.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/RequestInfoExample.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/RequestInfoExample.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -13,7 +14,7 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-/* $Id: RequestInfoExample.java 267129 2004-03-18 16:40:35Z jfarcand $
+/* $Id: RequestInfoExample.java 466607 2006-10-21 23:09:50Z markt $
  *
  */
 

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/RequestParamExample.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/RequestParamExample.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/RequestParamExample.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -13,7 +14,7 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-/* $Id: RequestParamExample.java 267129 2004-03-18 16:40:35Z jfarcand $
+/* $Id: RequestParamExample.java 466607 2006-10-21 23:09:50Z markt $
  *
  */
 

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/SessionExample.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/SessionExample.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/SessionExample.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -13,7 +14,7 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-/* $Id: SessionExample.java 267129 2004-03-18 16:40:35Z jfarcand $
+/* $Id: SessionExample.java 466607 2006-10-21 23:09:50Z markt $
  *
  */
 

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -34,7 +35,7 @@
  *
  * @author Amy Roh
  * @author Dmitri Valdin
- * @version $Revision: 267129 $, $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 466607 $, $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class CompressionFilter implements Filter{

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -17,7 +18,6 @@
 package compressionFilters;
 
 import java.io.IOException;
-import java.io.PrintWriter;
 import java.util.Enumeration;
 import javax.servlet.*;
 import javax.servlet.http.*;
@@ -25,7 +25,7 @@
 /**
  * Very Simple test servlet to test compression filter
  * @author Amy Roh
- * @version $Revision: 267129 $, $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 496190 $, $Date: 2007-01-14 16:21:45 -0700 (Sun, 14 Jan 2007) $
  */
 
 public class CompressionFilterTestServlet extends HttpServlet {

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -28,7 +29,7 @@
  *
  * @author Amy Roh
  * @author Dmitri Valdin
- * @version $Revision: 267129 $, $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 496190 $, $Date: 2007-01-14 16:21:45 -0700 (Sun, 14 Jan 2007) $
  */
 
 public class CompressionResponseStream
@@ -80,7 +81,7 @@
     /**
      * The underlying gzip output stream to which we should write data.
      */
-    protected GZIPOutputStream gzipstream = null;
+    protected OutputStream gzipstream = null;
 
     /**
      * Has this stream been closed?
@@ -294,8 +295,14 @@
             if (debug > 1) {
                 System.out.println("new GZIPOutputStream");
             }
-            response.addHeader("Content-Encoding", "gzip");
-            gzipstream = new GZIPOutputStream(output);
+            if (response.isCommitted()) {
+                if (debug > 1)
+                    System.out.print("Response already committed. Using original output stream");
+                gzipstream = output;
+            } else {
+                response.addHeader("Content-Encoding", "gzip");
+                gzipstream = new GZIPOutputStream(output);
+            }
         }
         gzipstream.write(b, off, len);
 

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -16,16 +17,9 @@
 package compressionFilters;
 
 import java.io.IOException;
-import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
-import java.util.Locale;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.ServletException;
 import javax.servlet.ServletOutputStream;
-import javax.servlet.ServletResponse;
-import javax.servlet.ServletResponseWrapper;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponseWrapper;
 
@@ -35,7 +29,7 @@
  *
  * @author Amy Roh
  * @author Dmitri Valdin
- * @version $Revision: 267129 $, $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 496190 $, $Date: 2007-01-14 16:21:45 -0700 (Sun, 14 Jan 2007) $
  */
 
 public class CompressionServletResponseWrapper extends HttpServletResponseWrapper {
@@ -248,29 +242,4 @@
     public void setContentLength(int length) {
     }
 
-
-    /**
-     * Returns character from content type. This method was taken from tomcat.
-     * @author rajo
-     */
-    private static String getCharsetFromContentType(String type) {
-
-        if (type == null) {
-            return null;
-        }
-        int semi = type.indexOf(";");
-        if (semi == -1) {
-            return null;
-        }
-        String afterSemi = type.substring(semi + 1);
-        int charsetLocation = afterSemi.indexOf("charset=");
-        if(charsetLocation == -1) {
-            return null;
-        } else {
-            String afterCharset = afterSemi.substring(charsetLocation + 8);
-            String encoding = afterCharset.trim();
-            return encoding;
-        }
-    }
-
 }

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/filters/ExampleFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/filters/ExampleFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/filters/ExampleFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -41,7 +42,7 @@
  * </ul>
  *
  * @author Craig McClanahan
- * @version $Revision: 267129 $ $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class ExampleFilter implements Filter {

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/filters/RequestDumperFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/filters/RequestDumperFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/filters/RequestDumperFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -42,7 +43,7 @@
  * to assist in debugging problems.
  *
  * @author Craig McClanahan
- * @version $Revision: 267129 $ $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class RequestDumperFilter implements Filter {

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -53,7 +54,7 @@
  * user's session.</p>
  *
  * @author Craig McClanahan
- * @version $Revision: 267129 $ $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
  */
 
 public class SetCharacterEncodingFilter implements Filter {

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/listeners/ContextListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/listeners/ContextListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/listeners/ContextListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -31,7 +32,7 @@
  * associated with our servlet context.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 267129 $ $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class ContextListener

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/listeners/SessionListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/listeners/SessionListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/listeners/SessionListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -33,7 +34,7 @@
  * associated with our servlet context.
  *
  * @author Craig R. McClanahan
- * @version $Revision: 267129 $ $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class SessionListener

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/util/HTMLFilter.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/util/HTMLFilter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/classes/util/HTMLFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
@@ -20,7 +21,7 @@
  *
  * @author Craig R. McClanahan
  * @author Tim Tye
- * @version $Revision: 267129 $ $Date: 2004-03-18 10:40:35 -0600 (Thu, 18 Mar 2004) $
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
  */
 
 public final class HTMLFilter {

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/web.xml
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/web.xml	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/WEB-INF/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software
@@ -15,12 +16,11 @@
   limitations under the License.
 -->
 
-<!DOCTYPE web-app
-    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-    "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
 
-<web-app>
-
     <display-name>Servlet 2.4 Examples</display-name>
     <description>
       Servlet 2.4 Examples.
@@ -222,28 +222,28 @@
     </env-entry-->
     <env-entry>
       <env-entry-name>minExemptions</env-entry-name>
+      <env-entry-type>java.lang.Integer</env-entry-type>
       <env-entry-value>1</env-entry-value>
-      <env-entry-type>java.lang.Integer</env-entry-type>
     </env-entry>
     <env-entry>
       <env-entry-name>foo/name1</env-entry-name>
+      <env-entry-type>java.lang.String</env-entry-type>
       <env-entry-value>value1</env-entry-value>
-      <env-entry-type>java.lang.String</env-entry-type>
     </env-entry>
     <env-entry>
       <env-entry-name>foo/bar/name2</env-entry-name>
+      <env-entry-type>java.lang.Boolean</env-entry-type>
       <env-entry-value>true</env-entry-value>
-      <env-entry-type>java.lang.Boolean</env-entry-type>
     </env-entry>
     <env-entry>
       <env-entry-name>name3</env-entry-name>
+      <env-entry-type>java.lang.Integer</env-entry-type>
       <env-entry-value>1</env-entry-value>
-      <env-entry-type>java.lang.Integer</env-entry-type>
     </env-entry>
     <env-entry>
       <env-entry-name>foo/name4</env-entry-name>
+      <env-entry-type>java.lang.Integer</env-entry-type>
       <env-entry-value>10</env-entry-value>
-      <env-entry-type>java.lang.Integer</env-entry-type>
     </env-entry>
 
 </web-app>

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/cookies.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/cookies.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/cookies.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/helloworld.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/helloworld.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/helloworld.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/index.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/index.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/index.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/reqheaders.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/reqheaders.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/reqheaders.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/reqinfo.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/reqinfo.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/reqinfo.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/reqparams.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/reqparams.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/reqparams.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/sessions.html
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/sessions.html	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/examples/sessions.html	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/XMLSchema.dtd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/XMLSchema.dtd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/XMLSchema.dtd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software
@@ -16,7 +17,7 @@
 <!-- DTD for XML Schemas: Part 1: Structures
      Public Identifier: "-//W3C//DTD XMLSCHEMA 200102//EN"
      Official Location: http://www.w3.org/2001/XMLSchema.dtd -->
-<!-- $Id: XMLSchema.dtd 267129 2004-03-18 16:40:35Z jfarcand $ -->
+<!-- $Id: XMLSchema.dtd 466607 2006-10-21 23:09:50Z markt $ -->
 <!-- Note this DTD is NOT normative, or even definitive. -->           <!--d-->
 <!-- prose copy in the structures REC is the definitive version -->    <!--d-->
 <!-- (which shouldn't differ from this one except for this -->         <!--d-->

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/datatypes.dtd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/datatypes.dtd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/datatypes.dtd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software
@@ -15,7 +16,7 @@
 -->
 <!--
         DTD for XML Schemas: Part 2: Datatypes
-        $Id: datatypes.dtd 267129 2004-03-18 16:40:35Z jfarcand $
+        $Id: datatypes.dtd 466607 2006-10-21 23:09:50Z markt $
         Note this DTD is NOT normative, or even definitive. - - the
         prose copy in the datatypes REC is the definitive version
         (which shouldn't differ from this one except for this comment

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/j2ee_1_4.xsd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/j2ee_1_4.xsd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/j2ee_1_4.xsd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/j2ee_web_services_1_1.xsd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/j2ee_web_services_1_1.xsd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/j2ee_web_services_1_1.xsd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/j2ee_web_services_client_1_1.xsd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/j2ee_web_services_client_1_1.xsd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/j2ee_web_services_client_1_1.xsd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/jsp_2_0.xsd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/jsp_2_0.xsd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/jsp_2_0.xsd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/jspxml.dtd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/jspxml.dtd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/jspxml.dtd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/jspxml.xsd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/jspxml.xsd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/jspxml.xsd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version ="1.0"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-app_2_2.dtd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-app_2_2.dtd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-app_2_2.dtd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-app_2_3.dtd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-app_2_3.dtd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-app_2_3.dtd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-app_2_4.xsd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-app_2_4.xsd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-app_2_4.xsd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_1_1.dtd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_1_1.dtd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_1_1.dtd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_1_2.dtd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_1_2.dtd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_1_2.dtd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/xml.xsd
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/xml.xsd	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/dtd/xml.xsd	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,11 +1,12 @@
 <?xml version='1.0'?>
 <!--
-  Copyright 2004 The Apache Software Foundation
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/Filter.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/Filter.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/Filter.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/FilterChain.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/FilterChain.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/FilterChain.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/FilterConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/FilterConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/FilterConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/GenericServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/GenericServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/GenericServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/LocalStrings.properties
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/LocalStrings.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-# Copyright 2004 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #     http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/LocalStrings_fr.properties
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/LocalStrings_fr.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/LocalStrings_fr.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-# Copyright 2004 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #     http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/LocalStrings_ja.properties
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/LocalStrings_ja.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/LocalStrings_ja.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-# Copyright 2004 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #     http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/RequestDispatcher.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/RequestDispatcher.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/RequestDispatcher.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/Servlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/Servlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/Servlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletConfig.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletConfig.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextAttributeEvent.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextAttributeEvent.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextAttributeEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextAttributeListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextAttributeListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextAttributeListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextEvent.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextEvent.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletContextListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletException.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletException.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletException.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletInputStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletInputStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletInputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletOutputStream.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletOutputStream.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletOutputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequest.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestAttributeEvent.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestAttributeEvent.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestAttributeEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestAttributeListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestAttributeListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestAttributeListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestEvent.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestEvent.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestWrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestWrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletRequestWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletResponse.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletResponse.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletResponse.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletResponseWrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletResponseWrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/ServletResponseWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/SingleThreadModel.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/SingleThreadModel.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/SingleThreadModel.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/UnavailableException.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/UnavailableException.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/UnavailableException.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/Cookie.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/Cookie.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/Cookie.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServlet.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServlet.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletRequest.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletRequest.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletRequestWrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletRequestWrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletRequestWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletResponse.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletResponse.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletResponse.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletResponseWrapper.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletResponseWrapper.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpServletResponseWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSession.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSession.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSession.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionActivationListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionActivationListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionActivationListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionAttributeListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionAttributeListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionAttributeListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionBindingEvent.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionBindingEvent.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionBindingEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionBindingListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionBindingListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionBindingListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionContext.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionContext.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionContext.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionEvent.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionEvent.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionListener.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionListener.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionListener.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpUtils.java
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpUtils.java	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/HttpUtils.java	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,10 +1,11 @@
 /*
-* Copyright 2004 The Apache Software Foundation
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings.properties
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-# Copyright 2004 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #     http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_es.properties
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_es.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_es.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-# Copyright 2004 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #     http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
@@ -12,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# $Id: LocalStrings_es.properties 267129 2004-03-18 16:40:35Z jfarcand $
+# $Id: LocalStrings_es.properties 466607 2006-10-21 23:09:50Z markt $
 #
 # Default localized string information
 # Localized para Locale es_ES

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_fr.properties
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_fr.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_fr.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-# Copyright 2004 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #     http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software

Modified: branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_ja.properties
===================================================================
--- branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_ja.properties	2007-05-21 10:16:43 UTC (rev 3530)
+++ branches/tomcat5.5/upstream/current/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_ja.properties	2007-05-21 10:51:24 UTC (rev 3531)
@@ -1,9 +1,10 @@
-# Copyright 2004 The Apache Software Foundation
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
 #     http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software




More information about the pkg-java-commits mailing list